我有大量的URL重定向到不同的URL。
我从列表中为循环提供它们,并尝试打印重定向的URL

第一个重定向的URL可以正常打印。
但是从第二个开始-请求只是停止为我提供重定向的URL,而只是打印给定的URL

我尝试使用urlliburllib2mechanize实施。

他们给第一个重定向的URL罚款,然后在第二个URL抛出错误并停止。

谁能让我知道为什么会这样吗?

下面是伪代码/实现:

for given_url in url_list:
    print ("Given URL: " + given_url)
    s = requests.Session()
    r = requests.get(given_url, allow_redirects=True)
    redirected_url = r.url
    print ("Redirected URL: " + redirected_url)


输出:

Given URL: www.xyz.com
Redirected URL: www.123456789.com
Given URL: www.abc.com
Redirected URL: www.abc.com
Given URL: www.pqr.com
Redirected URL: www.pqr.com

最佳答案

尝试HEAD请求,它不会跟随重定向或下载整个正文:

r = requests.head('http://www.google.com/')
print r.headers['Location']

关于python - 无法在Python中获取重定向的URL。尝试使用请求,urllib,urllib2和机械化,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45271744/

10-11 20:47