zl程序教程

您现在的位置是:首页 >  后端

当前栏目

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

列表scrapy 解决办法 返回 问题
2023-09-11 14:19:30 时间

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

import scrapy


class Test01Spider(scrapy.Spider):
    name = "test01"
    allowed_domains = ["https://baike.baidu.com/item/%E7%99%BE%E5%BA%A6/6699?fromModule=lemma_search-box"]
    start_urls = ["https://baike.baidu.com/item/%E7%99%BE%E5%BA%A6/6699?fromModule=lemma_search-box"]


    def parse(self, response):
        pass
        get_text = response.xpath("/html/body/div[3]/div[2]/div/div[1]/div[4]/div[3]/text()").extract()
        print(get_text)

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

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

1、取消注释COOKIES_ENABLE = False

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

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