我有大量的URL重定向到不同的URL。
我从列表中为循环提供它们,并尝试打印重定向的URL
第一个重定向的URL可以正常打印。
但是从第二个开始-请求只是停止为我提供重定向的URL,而只是打印给定的URL
我尝试使用urllib
,urllib2
和mechanize
实施。
他们给第一个重定向的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/