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

    python如何重写start_requests方法

    小妮浅浅小妮浅浅2021-08-14 10:06:54原创4274

    说明

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

    2、cookie不能放在scrapy中的headers中,在构建请求时有专门的cookies参数。

    可以接收字典形式的cookie。可能需要在settings中设置ROBOTS协议和USER_AGENT。

    实例

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    25

    26

    27

    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基础教程

    本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。

    专题推荐:python start_requests
    上一篇:python scrapy处理翻页的方法 下一篇:python scrapy模拟登录的方法

    相关文章推荐

    • python字符串对齐的三种方法• python字符串大小写转换的3种函数• python如何删除字符串的特殊字符• python两种数据类型的转换• python可变参数的两种传递方式• python import的本质探究• python Series如何进行相加• python如何查看hdf5文件• python scrapy如何建模• python scrapy处理翻页的方法

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网