Python urllib2 - 无法打开url

时间:2017-08-06 07:27:16

标签: python urllib bad-gateway

我正在创建一个脚本,使用urllib2从zhaopin.com上的搜索查询中读取信息

当我尝试通过将其复制到我的网络浏览器(Chrome)来打开网址时,我打开网站没有问题:http://sou.zhaopin.com/jobs/searchresult.ashx?p=1&isadv=0&bj=160000&in=160200

当我使用urllib2打开url时,我收到错误moessage HTTPError:HTTP Error 502:Bad Gateway。从搜索谷歌,我无法弄清楚我做错了什么。

import urllib
data = {}
data['in']='160200'
data['bj']='160000'
data['isadv']='0'
data['p']=1

url = 'http://sou.zhaopin.com/jobs/searchresult.ashx?'
url_values = urllib.urlencode(data)
full_url= url + url_values
print full_url
response = urllib2.urlopen(url)
html = response.read()
response.close()

可能是网址存在问题:在Chrome中打开网址后,“http://”消失了。如果你能帮我解决这个问题,我会很感激的。

2 个答案:

答案 0 :(得分:1)

尝试urllib而不是urllib2:

response = urllib.urlopen(url)

html = response.read()

response.close()

答案 1 :(得分:0)

HTTP Error 502: Bad Gateway

如果您正在尝试的服务器配置错误,则会出现上述错误。错误配置可能是由于服务器正在重新启动或当时不可用。

此错误也可能是后端计算机之间IP通信不良的结果,可能包括您尝试访问的站点上的服务器。可能是服务器过载了。

您可以在代码中使用urllib本身来打开网址。

import urllib
data = {}
data['in']='160200'
data['bj']='160000'
data['isadv']='0'
data['p']=1

url = 'http://sou.zhaopin.com/jobs/searchresult.ashx?'
url_values = urllib.urlencode(data)
full_url= url + url_values
print full_url
response = urllib.urlopen(url)
html = response.read()
response.close()