unten ist mein Spinnencode,
%Vor%Hier versuche ich, die href-Verbindung mit der Basisverbindung zu kombinieren, aber ich erhalte den folgenden Fehler,
%Vor%Kann jemand mich wissen lassen, warum ich diesen Fehler bekomme und wie man Basis-URL mit href verbindet und eine Anfrage
ergibtDies liegt daran, dass Sie das Schema nicht hinzugefügt haben, z. B. http: // in Ihrer Basis-URL.
Versuchen Sie: urlparse.urljoin('http://www.domain.com/', i[1:])
Oder noch einfacher: urlparse.urljoin(response.url, i[1:])
as urlparse.urljoin sortiert die Basis-URL selbst aus.
Eine alternative Lösung, wenn Sie urlparse
nicht verwenden möchten:
response.urljoin(i[1:])
Diese Lösung geht noch einen Schritt weiter: Hier erarbeitet Scrapy die Domänenbasis für den Beitritt. Und wie Sie sehen können, müssen Sie nicht das offensichtliche http://www.example.com
für den Beitritt bereitstellen.
Dies macht Ihren Code zukünftig wiederverwendbar , wenn Sie die zu durchsuchende Domain ändern möchten.