我正在做一個網絡應用程序,搜索每種鞋型的庫存鞋碼。在主頁面內刮頁面?
因此,舉例來說,對於具有鞋子列表的網站:
http://www.soccer.com/shop/footwear/?page=1&pageSize=12&query=*&facet=ads_f40502_ntk_cs%253A%2522Nike%2522
我需要去每一個環節裏面湊這個信息。 有什麼辦法可以有效地做到這一點與Scrapy(或其他)?還是不可能做到這一點?
我正在做一個網絡應用程序,搜索每種鞋型的庫存鞋碼。在主頁面內刮頁面?
因此,舉例來說,對於具有鞋子列表的網站:
http://www.soccer.com/shop/footwear/?page=1&pageSize=12&query=*&facet=ads_f40502_ntk_cs%253A%2522Nike%2522
我需要去每一個環節裏面湊這個信息。 有什麼辦法可以有效地做到這一點與Scrapy(或其他)?還是不可能做到這一點?
這是可能的,它是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'
我看到,整個項目取決於這是否是可能的。我很高興它。謝謝! – tadm123
感謝您的批准! – bluesummers
嘿btw我看到,它顯然是非法的網絡爬行?我會因爲這樣做而違法嗎? – tadm123