私はこれに関連ダースかそこらの質問があるけど、私が見たどれもが本当に自分のクモに複数の方法がなかった、以下のトラブル...Scrapyクロールスパイダー、リンク
だから私はこすりますよカテゴリページから始まるウェブサイト。私は製品カテゴリーへのリンクをつかんで、クロールスパイダーのルールを活用して各カテゴリーの「次のページ」を自動的に繰り返し、各ステップでそのページ内の特定の情報を掻き集める。
問題は、各カテゴリの最初のページに移動して、ルールセットのfollow = Trueの部分を無視しているようです。
start_urls = ["http://home.mercadolivre.com.br/mais-categorias/"]
rules = (
# I would like this to force the spider to crawl through the pages... calling the product parser each time
Rule(LxmlLinkExtractor(allow=(),
restrict_xpaths = '//*[@id="results-section"]/div[2]/ul/li[@class="pagination__next"]'), follow = True, callback = 'parse_product_links'),
)
def parse(self, response):
categories = CategoriesItem()
#categories['categoryLinks'] = []
for link in LxmlLinkExtractor(allow=('(?<=http://lista.mercadolivre.com.br/delicatessen/)(?:whisky|licor|tequila|vodka|champagnes)'), restrict_xpaths = ("//body")).extract_links(response):
categories['categoryURL'] = link.url
yield Request(link.url, meta={'categoryURL': categories['categoryURL']}, callback = self.parse_product_links)
# ideally this function would grab the product links from each page
def parse_product_links(self, response):
# I have this built out in my code, but it isnt necessary so I wanted to keep it as de-cluttered as possible
が、私が完全に私はそれらを使用する方法とルールで使用される抽出を好きにどのように理解していないかのように表示されますので、あなたが与えることができる任意のヘルプをお願い申し上げ:だからここのコードですが、いくつかの助けを大好きです私はクロールスパイダーのルールを書いて2箇所
ねえ、あなたはfunctuions内のルールを使用するはずです...彼らはルールでトップに行く...ステップでステップのようなルールを考えると、あなたの最初のページにあなたの項目を取得します。 ..各ルールはそこに得るためにリンクを取得することです https://stackoverflow.com/questions/15192362/how-to-properly-use-rules-restrict-xpaths-to-crawl-and-parse-urls-with -scrapy – scriptso