使用Scrapy对网站进行分页并获取价格

时间:2019-12-06 17:03:52

标签: python python-3.x scrapy

我开始研究Scrapy,希望拥有一只蜘蛛来获得MTG卡的一些价格。

首先,我不知道我是否100%正确地使用了选择功能开始时所有可用卡的链接:

name = 'bazarmtgbot'
allowed_domains = ['www.bazardebagda.com.br']
start_urls = ['https://bazardebagda.com.br/?view=ecom/itens&tcg=1&txt_estoque=1&txt_limit=160&txt_order=1&txt_extras=all&page=1']

1-我应该使用这种start_urls吗?

2-然后,如果您访问该网站,我找不到如何获取卡的单位和价格,它们是空白的DIV ...

我的名字叫:

titles = response.css(".itemNameP.ellipsis::text").extract()

3-我找不到如何对该网站进行分页以获得下一组商品的单价/价格。我是否需要复制start_urls N次?

1 个答案:

答案 0 :(得分:1)

  1. (和3)可以从给定的页面开始。抓取时,您可以通过查找“下一页”按钮之类的内容,抓取该链接,然后yield插入要跟踪的scrapy.Request来排队其他要抓取的URL。参见Scrapy教程的this part

  2. 该网站可能使用了多种技术来阻止价格刮ing:空白的价格div正在加载如下图所示的图像,并将其中的一部分用乱码的CSS类名称切成数字。您可能需要执行一些OCR或找到其他方法。请记住,由于它们将达到这种程度,因此可能还会有其他反刮擦对策。

gibberish number map