0

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

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

当我使用 urllib2 打开 url 时,我收到错误消息 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()

可能是 URL 的问题:在 Chrome 中打开 URL 后,“http://”消失了。如果您能帮我解决这个问题,我将不胜感激。

4

2 回答 2

1

尝试使用 urllib 而不是 urllib2:

response = urllib.urlopen(url)
html = response.read()
response.close()
于 2017-08-06T07:37:13.957 回答
0
HTTP Error 502: Bad Gateway

当您尝试的服务器中存在错误配置时,会发生上述错误。错误配置可能是由于服务器正在重新启动或当时不可用。

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

您可以urllib在代码中使用它自己来打开 URL。

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()
于 2017-08-06T12:42:42.223 回答