城北徐公公9 2023-05-11 00:05 采纳率: 57.1%
浏览 10

scrapy运行没有结果的问题

img

img


Python爬虫scrapy框架中运行显示不出结果,不报错 (用scrapy模拟cookie登陆的问题)

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-05-11 02:05
    关注
    • 你可以看下这个问题的回答https://ask.csdn.net/questions/1057436
    • 这篇博客你也可以参考下:scrapy框架中cookie的设置路径
    • 除此之外, 这篇博客: Python中Scrapy框架中的 1、 cookie 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
    • 在整个框架运作前,需要一个启动条件,这个启动条件就是start_urls,首先从start_urls的网页发起requests请求,才会有后面的调度器、下载器、爬虫、管道的运转。所以,这里我们可以针对start_urls进行网络请求的start_requests方法进行重写,把我们的cookie给携带进去

      注意:必须要使用yield返回,不然没办法运行

      import scrapy
      
      
      class ExampleSpider(scrapy.Spider):
          name = 'example'
          # allowed_domains = ['example.com']
          start_urls = ['https://www.baidu.com']
      
          # 重写start_request方法,scrapy从这里开始
          def start_requests(self):
              # 添加cookie的第一种方法,直接添加
              cookie = " "
              cookie_dic = {}
              for i in cookie.split(";"):
                  cookie_dic[i.split("=")[0]] = i.split("=")[1]
      
              # 添加cookie的第二种方法:添加头部
              headers = {
                  "cookie": "cookie_info",
                  # 使用headers传入cookie时,要在settings中加入COOKIES_ENABLE = True
              }
              for url in self.start_urls:
                  yield scrapy.Request(url=url, callback=self.parse, headers=headers)  # 添加cookies
      
          def parse(self, response):
              print(response.text)
      
    • 您还可以看一下 龙豪杰老师的Python网络爬虫课程中的 获取cookie对象小节, 巩固相关知识点
    评论

报告相同问题?

问题事件

  • 创建了问题 5月11日

悬赏问题

  • ¥15 关于将inet引入的相关问题
  • ¥15 关于一个倒计时的操作和显示设计
  • ¥15 提问STK的问题,哪位航天领域的同学会啊
  • ¥15 苹果系统的mac m1芯片的笔记本使用ce修改器使用不了
  • ¥15 单相逆变的电压电流双闭环中进行低通滤波PID算法改进
  • ¥15 关于#java#的问题,请各位专家解答!
  • ¥15 如何卸载arcgis 10.1 data reviewer for desktop
  • ¥15 共享文件夹会话中为什么会有WORKGROUP
  • ¥15 关于#python#的问题:使用ATL02数据解算光子脚点的坐标(操作系统-windows)
  • ¥115 关于#python#的问题:未加密前两个软件都可以打开,加密后只有A软件可打开,B软件可以打开但读取不了数据