• scrapy爬虫中如何实现翻页请求


    通过scrapy.Request实现翻页请求:

     scrapy.Request(url, callback=None, method='GET', headers=None, body=None, cookies=None, meta=None,
                             encoding='utf-8', priority=0, dont_filter=False, errback=None, flags=None)

    这里一爬取腾讯招聘网站的岗位信息为例制作一个爬虫进行翻页请求的实现

     1 # -*- coding: utf-8 -*-
     2 import scrapy
     3 
     4 
     5 class HrSpider(scrapy.Spider):
     6     name = 'Hr'
     7     allowed_domains = ['tencent.com']
     8     start_urls = ['https://hr.tencent.com/position.php']
     9 
    10     def parse(self, response):
    11         tr_list=response.xpath("//table[@class='tablelist']/tr")[1:-1]
    12         for tr in tr_list:
    13             item={}
    14             item["title"]=tr.xpath("./td[1]/a/text()").extract_first()
    15             item["postion"]=tr.xpath("./td[2]/text()").extract_first()
    16             item["publish_date"]=tr.xpath("./td[5]/text()").extract_first()
    17             yield item
    18         #找到下一页的URL地址,实现翻页请求
    19         next_url=response.xpath("//a[@id='next']/@href").extract_first()
    20         if next_url !=" javascript:;":
    21             next_url="https://hr.tencent.com/"+next_url
    22             yield scrapy.Request(
    23                 next_url,
    24                 callback=self.parse
    25             )
  • 相关阅读:
    Linux就该这么学(第一天)
    在虚拟机中使用Git
    Myeclipse的一些快捷键整理(转)
    SpringMVC框架应用
    动态网页开发基础
    jsp数据交互(二)
    jsp数据交互(一)
    复习数据结构(基于大话数据结构)
    IO及NIO的总结
    学习正则表达式笔记
  • 原文地址:https://www.cnblogs.com/zhiliang9408/p/10004141.html
Copyright © 2020-2023  润新知