0
Hier sind meine SpinneScrapy nur Schrammen erster 4 Start Urls
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)
gibt es 20 Start Urls, aber Im zu bemerken, dass nur die ersten 4 Urls sind tatsächlich und der Rest ist nicht immer ausgeführt aufgerufen werden. Das ideale Verhalten wäre für Scrappy, zuerst alle 20 Start-URLs aufzurufen und dann von jedem zum nächsten weiterzugehen.
Gibt es eine Ausnahmemeldung in der Konsole? Können Sie Ihre Datei "clauses.txt" bereitstellen? –
@XetrAFHan gibt es keine Ausnahmemeldungen. Die Klauseldatei hat eine Liste von Wörtern und diese werden an die Basis-URL angehängt, wobei die Site funktioniert, nur dass nach den ersten 4 Anfragen die anderen anfänglichen Anfragen nicht verarbeitet werden. – TheM00s3
Was ist die Ausgabe von 'self.log (" start_urls - {} ". Format (self.start_urls))' Siehst du alle 2 URLs? – Umair