如何获取重定向的URL

2024-04-24 09:41:31 发布

您现在位置:Python中文网/ 问答频道 /正文

嗨,伙计们,我正试图解决这个问题,但我真的不知道该怎么办。我抓取了这个网站https://www.financialjuice.com/home并将其保存到我的数据库中,它确实成功地工作了。

但我遇到的问题是,如果在我的应用程序上点击了一个被刮掉的项目,它首先会进入财经频道,然后才进入主要的新闻来源

这是金融果汁,他们可能有一个新的,他们从BBC和我的刮痧接受了这个项目,一旦你点击网址,它首先得到金融果汁,然后再去BBC

你认为我能做什么来取悦你的建议是受欢迎的。


Tags: 项目httpscom数据库应用程序home网站www
2条回答

在您的例子中,重定向是通过javascript实现的。你需要一个浏览器。在

如果你想要务实,使用:

Selenium

phantomjs

分享一个被刮走的网址,但我认为问题是,金融果汁不是给你直接的网址,而是一个重定向。基本上这是首页的链接

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

它将重定向到

^{pr2}$

帮助他们跟踪哪些链接是从网站外部访问的(社交媒体分享等),并防止你做了什么。在

您需要运行一个脚本来访问链接,然后在最后一次重定向后获取url。在

例如使用urllib2。geturl提供打开对象的最终url。在

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

如果redirect是一个脚本,那么您需要使用Selenium。See here是一个很好的例子。我为你修改了下面的代码,效果很好

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()

相关问题 更多 >