2017-11-19 31 views
-2

Hallo Leute, ich versuche, dies zu lösen, und ich weiß nicht wirklich, was zu tun ist. Ich kratzte diese Website https://www.financialjuice.com/home und speicherte sie in meiner Datenbank und es hat erfolgreich funktioniert.Wie bekomme ich eine umgeleitete URL

Aber das Problem, das ich habe, wenn ein geschabt Artikel auf meine App geklickt haben, denden es wird zu finanziellen Saft, bevor

an die Hauptquelle der Nachrichten gehen Das auf Finanz Saft ist, dass sie ein neues haben könnte sie haben von BBC und mein scrapy nimmt diesen Artikel, sobald Sie auf die URL klicken, wird es zuerst zu finanziellen Saft zuerst gehen, bevor Sie zu BBC gehen

Was denken Sie, dass ich tun kann bitte Ihren Vorschlag wird begrüßt.

+1

Ihre Frage ist immer noch ein wenig unklar, was genau ist das Problem? –

+0

Ich möchte in der Lage sein, den Link zu bekommen, es wird direkt weitergeleitet, anstatt zuerst finanziellen Saft zu besuchen, bevor Sie die eigentliche Nachrichtenquelle – molecules

+0

Wenn Sie den finanziellen Saft überprüfen, werden Sie bemerken, bevor die Nachrichtenquelle kam, gab es eine Lade auf finanzieller Saft, bevor es schließlich die Quelle brachte. – molecules

Antwort

-1

Teilen Sie eine der geschabten URLs, aber was ich vermute, ist das Problem, dass finanzielle Saft gibt Ihnen nicht die direkte URL, sondern eine mit Umleitung. Also im Grunde ist dies ein Link auf der Titelseite

https://www.financialjuice.com/News/3772381/A-week-end-of-decision-for-Germany.aspx 

die rthen lädt Umleitungen an

http://www.forexlive.com/news/!/a-week-end-of-decision-for-germany-20171118 

ihnen Spur hilft, von denen Links von außerhalb der Website besucht wurden (Social Media usw. Sharing) und verhindern genau was hast du getan.

Sie müssen ein Skript ausführen, um den Link zu besuchen und dann die URL nach der letzten Umleitung abrufen.

zum Beispiel mit urllib2. Die geturl gibt Ihnen die endgültige URL des geöffneten Objekts.

finalurl = urllib2.urlopen(intialurl, None, 1).geturl() 

Wenn die redirecction mit einem Skript ist, dann müssen Sie Selen verwenden. See here für ein gutes Beispiel. Ich habe den folgenden Code für Sie geändert und es hat ganz gut funktioniert

from selenium import webdriver 
import time 
from selenium.webdriver.common.keys import Keys 
chromepath='/usr/bin/chromedriver' #//change this to your chromedriver path 
driver = webdriver.Chrome(chromepath) 
driver.get('https://www.financialjuice.com/News/3772381/A-week-end-of-decision-for-Germany.aspx') 


time.sleep(10) 
print(driver.current_url) 

driver.quit() 
+0

Wie kann dies erreicht werden – molecules

+0

Inhalt am Ende meiner früheren Antwort hinzugefügt, um anderen zu helfen. Siehe ursprüngliche Antwort und markieren Sie sie als "akzeptierte Antwort", wenn es hilft. Vielen Dank. – kmcodes

+0

Dies wird vom Skript umgeleitet. Sie können es nicht ohne Browser bekommen. – Rahul

0

In Ihrem Fall Umleitung geschieht durch das Javascript. Sie benötigen einen Browser.

Wenn Sie es pragmatisch wollen, verwenden Sie:

Selenium

phantomjs

Verwandte Themen