我正在使用 urllib2 模块来读取 html 页面,下面是我的代码
代码.py
import urllib2, httplib
httplib.HTTPConnection.debuglevel = 1
request = urllib2.Request("http://www.vodafone.in/Pages/tuesdayoffers_che.aspx")
opener = urllib2.build_opener()
f = opener.open(request)
print f.url
结果
'http://www.vodafone.in/pages/tuesdayoffers_che.aspx?cid=che'
当我在浏览器中给出上述网址时,它被重定向到http://www.vodafone.in/pages/home_che.aspx?cid=che
,但从上面的代码我我得到相同的给定网址
最后如何使用 urrlib2 捕获重定向的 url 并从中读取数据,因为 我有许多网址将被重定向到其他一些网址,最后我的意图是捕获重定向的网址并从捕获的网址读取数据,那么如何使用 urllib2 和 httplib 在 python 中实现此目的>
最佳答案
正则表达式不是必需的。该网站正在通过 JavaScript 进行重定向,但是仍然返回 302 状态代码。您可以通过以下方式验证这一点:
url = 'http://www.vodafone.in/Pages/tuesdayoffers_che.aspx'
file_pointer = urllib2.urlopen(url)
print file_pointer.getcode()
当返回 302 状态码时,响应 header 中有一个 Location
header 。您可以通过以下方式查看:
url = 'http://www.vodafone.in/Pages/tuesdayoffers_che.aspx'
file_pointer = urllib2.urlopen(url)
print file_pointer.info()
记录位置
url。这将是您被重定向到的页面。
关于python - 如何在python中使用urllib2捕获重定向的url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14153132/