的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://'消失。如果你能帮我弄明白这一点,我会很感激。
答
尝试的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()
你是中国的防火墙吗?尝试使用Wireshark捕获HTTP会话并查看原始数据。请求中的差异应该在那里可见。 –
在地址栏中消失的http没有其他任何内容。 –