【问题标题】:Python open url with urllib than get back the changed url of opened webpagePython使用urllib打开url而不是取回打开网页的更改url
【发布时间】:2017-02-06 14:12:52
【问题描述】:

我想向 Google 地图发送一些请求。我打开根据请求更改的 url。我想取回更改后的网址。 一个例子:

import urllib, urllib2

my_address = '1600 Amphitheatre Parkway Mountain View, CA 94043'
data = urllib.urlencode({'output':'csv', 'q':my_address})
req = urllib2.Request('https://www.google.co.uk/maps/place?' + data)
res_0 = urllib2.urlopen(req)
print res_0.geturl()

打开网址(res_0.geturl()):

'https://www.google.co.uk/maps/search/1600+Amphitheatre+Parkway+Mountain+View,+CA+94043/data=!4m2!2m1!4b1?dg=dbrw&newdg=1'

而我想取回更改后的url,即:

'https://www.google.co.uk/maps/place/1600+Amphitheatre+Pkwy,+Mountain+View,+CA+94043,+USA/@37.4223371,-122.0866079,17z/data=!3m1!4b1!4m5!3m4!1s0x808fba027820e5d9:0x60a90600ff6e7e6e!8m2!3d37.4223329!4d-122.0844192'

我在浏览器中手动打开了res_0 url,我得到了上面更改的url。

我该怎么做?

谢谢!

【问题讨论】:

    标签: python url urllib2


    【解决方案1】:

    你可以在 urllib2 中使用 .geturl() 方法

    例子:

    print res_0.geturl()
    

    【讨论】:

    • 对不起,我在示例中错过了这一点(我更新了我的问题)。所以res_0.geturl() 返回“要打开的网址”。或者这会返回我想要的网址吗?
    猜你喜欢
    • 1970-01-01
    • 2012-01-04
    • 2013-05-13
    • 1970-01-01
    • 1970-01-01
    • 2017-08-19
    • 1970-01-01
    • 1970-01-01
    • 2020-10-01
    相关资源
    最近更新 更多