gpt4 book ai didi

python - Scrapy spider 没有显示完整的结果

转载 作者:太空宇宙 更新时间:2023-11-04 06:06:04 26 4
gpt4 key购买 nike

大家好,我正在尝试从代码中的给定链接获取完整结果。但我的代码没有给出所有结果。这个链接说它包含 2132 个结果,但它只返回 20 个结果。:

from scrapy.spider import Spider
from scrapy.selector import Selector
from tutorial.items import Flipkart
class Test(Spider):
name = "flip"
allowed_domains = ["flipkart.com"]
start_urls = ["http://www.flipkart.com/mobiles/pr?sid=tyy,4io& otracker=ch_vn_mobile_filter_Mobile%20Brands_All"
]
def parse(self, response):
sel = Selector(response)
sites = sel.xpath('//div[@class="pu-details lastUnit"]')
items = []
for site in sites:
item = Flipkart()
item['title'] = site.xpath('div[1]/a/text()').extract()
items.append(item)
return items**

最佳答案

这是因为该网站一次只显示 20 个结果,当用户滚动到页面底部时,会使用 JavaScript 加载更多结果。

这里有两个选择:

  • 在站点上找到一个链接,该链接在单个页面上显示所有结果(怀疑它是否存在,但是某些站点可能会在传递可选查询字符串时这样做)。
  • 在您的蜘蛛程序中处理 JavaScript 事件。默认的 Scrapy 下载器不会这样做,所以你可以分析 JS 代码并自己以编程方式发送事件信号,或者使用类似 Selenium 的东西。带 PhantomJS让浏览器处理它。我推荐后者,因为它比您自己解释 JS 的手动方法更不易出错。参见 this question了解更多信息,Google 周围有很多关于此主题的信息。

关于python - Scrapy spider 没有显示完整的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21966367/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com