Ubuntu和Windows上的不同爬行行为

时间:2016-07-29 09:15:51

标签: python urllib2 urllib

这段代码检索Google电影页面的内容:

import urllib2
f = urllib2.urlopen("https://www.google.com/movies?hl=fr&tid=4f451a87a71bfa51&date=0")
print(f.read())

当我在Windows PC上运行脚本时,它正确包含在此影院安排的电影。但我尝试在3个不同的Ubuntu服务器上执行该脚本,并且每次返回的内容都是格式良好的页面,表明目前没有电影安排。

你知道只有3行代码会导致这种行为差异吗?我也试过urllib.urlopen,输出也一样。

1 个答案:

答案 0 :(得分:1)

它与操作系统本身或一般的Python无关。 我试图从浏览器中的Windows机器访问此URL,并且还获得了“未找到电影”(使用Google Translate,因为我不会说法语)。

我怀疑此网址是位置敏感的。当您通过Windows计算机访问它时,它设法找到您的位置(实际位置或基于您的IP的估计值)。

当您尝试通过Linux计算机访问它时,它无法确定您的位置(或确实如此,并确定您的位置“错误”),因此它与任何影院时间表都不匹配。