Kombinieren der Basis-URL mit dem resultierenden href in scrapy

8

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

ergibt     
shiva krishna 29.05.2012, 11:20
quelle

2 Antworten

9

Dies 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.

    
Sjaak Trekhaak 29.05.2012, 12:07
quelle
0

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.

    
GHajba 14.10.2017 15:33
quelle

Tags und Links