• 技术文章 >Python技术 >Python基础教程

    python如何重写start_requests方法

    小妮浅浅小妮浅浅2021-07-15 14:16:20原创183

    说明

    1、在scrapy中,start_url是由start_requests处理的,通过重写这种方法,start_url可以携带请求头信息。

    2、cookie不能放在scrapy中的headers中,在构建请求时有专门的cookies参数,可以接收字典形式的cookie。

    可能需要在settings中设置ROBOTS协议和USER_AGENT。

    实例

    import scrapy
     
     
    class Git1Spider(scrapy.Spider):
        name = 'git1'
        allowed_domains = ['github.com']
        start_urls = ['https://github.com/GitLqr']
     
        def start_requests(self):
            """
            重写start_requests,发送携带cookies的Request。
            默认start_requests只是普通的get请求,不会携带自定义的头信息
            """
            url = self.start_urls[0]
     
            temp = '_octo=GH1.1.1045146750.1615451260; _device_id=cd8d64981fcb3fd4ba7f587873e97804'
            # 把cookies字符串转成字典
            cookies = {data.split('=')[0]: data.split('=')[-1] for data in temp.split('; ')}
     
            yield scrapy.Request(
                url=url,
                callback=self.parse,
                cookies=cookies
            )
     
        def parse(self, response):
            print(response.xpath('/html/head/title/text()').extract_first())

    以上就是python重写start_requests方法,希望对大家有所帮助。更多Python学习指路:python基础教程

    专题推荐:python start_requests
    品易云
    上一篇:python爬虫中meta参数的使用 下一篇:python scrapy模拟登录的方法

    相关文章推荐

    • Python 3.10 beta 4发布,即将迎来RC阶段• python字符串对齐的三种方法• python字符串大小写转换的3种函数• python如何删除字符串的特殊字符• python两种数据类型的转换• python可变参数的两种传递方式• python import的本质探究• python Series如何进行相加• python如何查看Series的NaN• python如何查看hdf5文件• python scrapy数据建模的作用• python爬虫中常见的问题及解决• python scrapy如何建模• python scrapy处理翻页的方法• python爬虫中meta参数的使用

    全部评论我要评论

  • 取消发布评论
  • 

    Python学习网