【问题标题】:python - open url and retrieve changed urlpython - 打开网址并检索更改的网址
【发布时间】:2011-09-17 03:14:09
【问题描述】:

我想调用一个网址,例如- www.xyz.com

它是一个身份验证 url,点击后会在 url 栏上生成新的 url,例如www.xyz-11.com

如何从 python 中检索这个?
调用一个url并获取新创建的url?

【问题讨论】:

  • 你想使用什么库? urllib2? httplib?还有什么?请指定更多,或者如果您根本不知道要使用什么,请尝试四处搜索。
  • 我知道如何从 python 调用一个 url,但如何检索新的 url。我不知道。

标签: python url urllib


【解决方案1】:
>>> import urllib2
>>> u = urllib2.urlopen('http://google.com')
>>> dir(u)  # useful in seeing what's there, see also help(u)
['__doc__', '__init__', '__iter__', '__module__', '__repr__', 'close', 'code', 'fileno', 'fp', 'getcode', 'geturl', 'headers', 'info', 'msg', 'next', 'read', 'readline', 'readlines', 'url']
>>> u.geturl()
'http://www.google.com.au/'
>>> u.url
'http://www.google.com.au/'

另见the documentation for urllib2.urlopen

  • geturl() — 返回检索到的资源的 URL,通常用于确定是否遵循了重定向

【讨论】:

  • 当然,这仅在 HTTP 重定向后有效,许多网站使用 http-equiv="refresh" 或 javascript 重定向。
  • 如果您关心这些,请使用 BeautifulSoupre 或其他东西来检测它(如果他关心这种情况,我建议 user778942 开始另一个问题)。
  • 是的,但请告诉我,如果使用 python,调用 geturl() 仅在 HTTP 重定向后有效,我该如何检测?
  • @user778942:我不愿意提供帮助:您自己解决会更好。试试看,自己玩吧! (并阅读我引用的内容。)
猜你喜欢
  • 2014-10-02
  • 1970-01-01
  • 2016-12-06
  • 2019-12-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-09-14
  • 1970-01-01
相关资源
最近更新 更多