2017-08-06 78 views
0

我使用的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沒有其他任何內容。 –

回答

0

嘗試的urllib代替的urllib2:

響應=了urllib.urlopen(URL)

HTML = response.read()

response.close()

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