scrapyにおいて深さごとに処理をわけるにはどうすれば良いのでしょうか?
settingのDEPTH_LIMITは1に設定しておいて、
class SpiderSpider(CrawlSpider): name = 'spider' allowed_domains = [] start_urls = ( 'https://www.yahoo.co.jp', ) rules = [Rule(LinkExtractor(), callback='parse_item', follow=True)] def parse_start_url(self, response): # start_urlsのインデックスページもスクレイピングする. return self.parse_item(response) def parse_item(self, response): node = {} """if 深さ0なら以下の処理""" node['url'] = response.url node['type'] = "seed" node['color'] = "red" """ if 深さ1なら以下の処理""" node['url'] = response.url node['type'] = "normal" node['color'] = "white" yield node
のようなかんじで処理を分けたいです。
depthの現在値はどこからひっぱってこれるのでしょうか。。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/11/23 09:39