在做scrapy爬蟲的時候經常會遇到需要跟進url的情況,網站a有許多url,但是我們需要跟進這些url,進一步獲取這些url中的詳細內容。
簡單的說就是要先解析出所有需要的url,然后跟進這些url
那么現在來說說怎么做
scrapy中有個Request專門處理跟進的url
from scrapy.http import Request
在處理函數parse中進行跟進
def parse(self, response): hxs = Selector(response) urls = hxs.xpath('//div[@class="li-info"]//h3//a/@href').extract() for url in urls: yield Request(url, callback=self.get_community)
callback中的函數才是重點,對跟進的url再次發送請求,
def get_community(self, response): hxs = Selector(response) item = CommunityItem() yield item
這個函數用來進行對跟進的url進行解析,以便得到我們想要的數據
這里只是跟進了一次url,如果需要跟進多次url,可以多次使用Request,多個回調函數處理。