0
はここ20の開始URLがありますが、私のクモScrapyのみ擦り傷最初の4つの始まるURL
class Spider(scrapy.Spider):
name = "spider"
start_urls = []
with open("clause/clauses.txt") as f:
for line in f:
start_urls(line)
base_url = "<url>"
start_urls = [base_url + "-".join(url.split()) for url in start_url]
def start_requests(self):
self.log("start_urls - {}".format(self.start_urls))
for url in self.start_urls:
yield scrapy.Request(url, dont_filter=True, priority=2, callback=self.parse)
def parse(self, response):
text_items = response.css("some css").extract()
for text in text_items:
if text == "\n":
continue
yield Item({"text" : text})
yield response.follow(response.css("a::attr(href)").extract_first(), callback=self.parse)
で、まだイムは最初の4つのURLが実際に呼び出されていると、残りがこれまでに実行されていないことに気付い。理想的な振る舞いは、まず最初に20のすべての開始URLを呼び出し、次にそれぞれのURLから次のURLに移動することです。
コンソールで例外メッセージはありますか? clauses.txtファイルを提供できますか? –
@XetRAFHan例外メッセージはありません。節ファイルには単語のリストがあり、それらはベースURLに追加され、サイトの作業に行きます。最初の4つの要求の後では、他の最初の要求を処理していません。 – TheM00s3
'self.log(" start_urls - {} "。format(self.start_urls))の出力は何ですか?' 2つのURLはすべて表示されますか? – Umair