Ich bin ein Student, und für ein Projekt sammle ich Informationen über Marken. Ich fand diese Website namens Kit: Kit Page, die ich für Marken kratzen möchte. Es hat fast 500 Seiten, und ich habe in Python 3 einen Scrapy Spider geschrieben, der jede Seite durchsucht und die Liste in ein Wörterbuch kopiert, aber ich kann den XPath oder CSS nicht herausfinden, um die Listeninformationen zu erhalten. Hier ist mein items.py:Scrapy Spider liefert keine Informationen
import scrapy
class KitcreatorwebscraperItem(scrapy.Item):
creator = scrapy.Field()
und hier ist meine Spinne:
import scrapy
class KitCreatorSpider(scrapy.Spider):
name = "kitCreators"
pageNumber = 1
start_urls = [
'https://kit.com/brands?page=1',
]
while pageNumber <= 478:
newUrl = "https://kit.com/brands?page=" + str(pageNumber)
start_urls.append(newUrl)
pageNumber += 1
def parse(self, response):
for li in response.xpath('//div[@class="section group"][0]'):
Es läuft erfolgreich, aber ich habe es nicht gelungen, einen XPath zu schreiben, die die Daten erhält ich brauche. Welcher Pfad ist notwendig und wie implementiere ich das im Code?
Hallo Andersson, als ich das anschließen in dieser form: ** def parse (self, antwort): ertrag { "unternehmen": response.xpath ('// a [@ class = "markenView-list-item-link ng-binding "]/text() ') } ** Ich bin immer noch mit einer leeren Liste als Ausgabe getroffen. Können Sie weitere Informationen zur Implementierung oder Platzierung dieses Pfads im Code bereitstellen? –
Dies liegt daran, dass der Seiteninhalt dynamisch ist und man es nicht einfach mit "scrapy" erreichen kann. Check [this] (https://stackoverflow.com/questions/30345623/scraping-dynamic-content-using-python-scrapy) – Andersson
Ich war bisher bei der Implementierung Ihrer angehängten Methode nicht erfolgreich, aber ich werde es weiter versuchen. Wenn Sie irgendwelche Empfehlungen oder Vorschläge haben, sind sie absolut willkommen. Vielen Dank! –