2017-02-26 112 views
0

我正在做一个网络应用程序,搜索每种鞋型的库存鞋码。在主页面内刮页面?

因此,举例来说,对于具有鞋子列表的网站:

http://www.soccer.com/shop/footwear/?page=1&pageSize=12&query=*&facet=ads_f40502_ntk_cs%253A%2522Nike%2522

我需要去每一个环节里面凑这个信息。 有什么办法可以有效地做到这一点与Scrapy(或其他)?还是不可能做到这一点?

回答

2

这是可能的,它是Scrapy的核心功能之一。

例如,在这个网站,你会做什么拼抢每双鞋是:

在你的蜘蛛变量start_urls = ['http://www.soccer.com/shop/footwear/?page=1&pageSize=12&query=*&facet=ads_f40502_ntk_cs%253A%2522Nike%2522']

然后在你的parse(self, response)你的代码应该是这样的:

for shoe_url in response.xpath(<ENTER_THE_XPATH>).extract() 
    yield scrapy.Request(response.urljoin(shoe_url), callback=self.parse_shoe) 

以及我们在for循环中注册为回调的方法parse_shoe,您应该提取所有需要的信息。

现在发生的情况是,蜘蛛开始抓取start_urls中的网址,然后为每个符合我们指定的xpath的网址使用parse_shoe函数解析它,您可以在其中简单地提取鞋子尺寸。

你也可以在scrapy的主网站上关注这个link的“Follow Links”教程 - 这很清楚。

为了完整性我寻找合适的XPath为您在该网页上,它应该是'*//ul[@class="medium-3 columns product-list product-grid"]//a/@href'

+0

我看到,整个项目取决于这是否是可能的。我很高兴它。谢谢! – tadm123

+0

感谢您的批准! – bluesummers

+0

嘿btw我看到,它显然是非法的网络爬行?我会因为这样做而违法吗? – tadm123