的Python的urllib2 - 无法打开URL

问题描述:


我使用的urllib2的Python的urllib2 - 无法打开URL

当我尝试将其复制到我的网页浏览器中打开URL创建一个脚本,从搜索查询中读取信息zhaopin.com(铬),我没有问题打开该网站: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() 

也许这是一个URL的问题:在Chrome中打开url后,'http://'消失。如果你能帮我弄明白这一点,我会很感激。

+0

你是中国的防火墙吗?尝试使用Wireshark捕获HTTP会话并查看原始数据。请求中的差异应该在那里可见。 –

+0

在地址栏中消失的http没有其他任何内容。 –

尝试的urllib代替的urllib2:

响应=了urllib.urlopen(URL)

HTML = response.read()

response.close()

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()