Ich frage mich, warum response.xpath() ein leeres Array []
in this page zurückgibt, auch wenn ich tun response.xpath('//div').extract()
! Beispiel:Warum bekomme ich ein leeres Array mit (scrapy shell response.xpath())?
$ scrapy shell https://www.amazon.cn/b/2127529051
...
>>> response.xpath('//div').extract()
[]
kann ich einige Ergebnisse aus der Homepage zu bekommen, aber ich kann keine Ergebnisse von vielen anderen Seiten.
BTW, Ich versuche nicht, amazon oder etwas zu kriechen, es ist nur für Lernzwecke.
Ich habe auch andere Seiten ausprobiert, aber ich habe dieses Problem nicht, also möchte ich wissen warum.
Irgendwelche Ideen?
dank
Vielen Dank für Ihre Antwort. Tatsächlich ist der Code, den ich verwendet habe korrekt, obwohl es nicht in dieser Frage ist. Ich habe tatsächlich 'response.xpath (" // div "). Extract()' verwendet, ich habe gerade den Code hier verpasst, da ich die Frage in aller Eile ausgefüllt habe. Ich versuche 'view (response)'. – XO39
Ich habe versucht: 'scrapy shell https: // www.amazon.cn/b/2127529051' und' response.xpath ("// div"). Extract() 'fand mich' 605' Elemente. Stellen Sie sicher, dass Sie nicht blockiert sind. Schau dir 'response' mit' view (response) 'an und überprüfe' response.status', um zu sehen, ob du '200' bekommst. – Granitosaurus
Ich habe '301' für' response.status', und eine leere Seite für 'view (response)' – XO39