• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

Scrapy返回空列表问题的解决办法

武飞扬头像
KKK3号
帮助1

 今天学习Scrapy框架时,调用下面的方法发送请求时返回的居然是一个空列表。

  1.  
    import scrapy
  2.  
     
  3.  
     
  4.  
    class Test01Spider(scrapy.Spider):
  5.  
    name = "test01"
  6.  
    allowed_domains = ["https://baike.百度.com/item/百度/6699?fromModule=lemma_search-box"]
  7.  
    start_urls = ["https://baike.百度.com/item/百度/6699?fromModule=lemma_search-box"]
  8.  
     
  9.  
     
  10.  
    def parse(self, response):
  11.  
    pass
  12.  
    get_text = response.xpath("/html/body/div[3]/div[2]/div/div[1]/div[4]/div[3]/text()").extract()
  13.  
    print(get_text)

 在我尝试很多遍,并且检查发现xpath没错的情况下还是返回空列表。

学新通

后面上网搜了很多解决方案,发现是头信息里的cookie没有设置,Scrapy默认用了它内部设置的头信息。于是对setting里面的内容进行修改就可以了 :

1、取消注释COOKIES_ENABLE = False

学新通

2、取消注释DEFAULT_REQUEST_HEADERS并且增加Cookie信息:

学新通

这样再请求就可以获取到相应的信息了:

学新通

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhfighia
系列文章
更多 icon
同类精品
更多 icon
继续加载