0
我已經將URL存儲在應該傳遞給urllib2的列表中。然而,urllib似乎不太喜歡這一點,我只是不明白爲什麼!爲什麼urllib2不接我的網址?
這裏是我有:
url = list[1]
response = urllib2.urlopen(url)
html = response.read()
的網址是什麼樣的谷歌地圖路線的Web API網址:
http://maps.googleapis.com/maps/api/directions/json?origin=[origin]&destination=[destination]&waypoints=optimize:true|[waypoint1]|[waypoint2]&sensor=false
現在,如果我嘗試運行此,檢索html總是看起來像這樣:
{
"routes" : [],
"status" : "INVALID_REQUEST"
}
指示傳遞的URL有問題。但是,如果我走的URL,並直接分配給它,就像這樣:
url = "http://maps.googleapis.com/maps/api/directions/json?origin=[origin]&destination=[destination]&waypoints=optimize:true|[waypoint1]|[waypoint2]&sensor=false"
response = urllib2.urlopen(url)
html = response.read()
結果會很樂意與(對我來說)必不可少的端部看起來像這樣來通過:
"warnings" : [],
"waypoint_order" : [ 2, 0, 7, 5, 6, 4, 3, 1 ]
}
],
"status" : "OK"
}
我(希望不要太愚蠢)的問題是:爲什麼urllib在URL直接分配時執行其工作,但如果它來自列表則不行?
非常感謝您的幫助, Ĵ
PS:有一個原因論壇軟件總是切斷我的「大家好」的問候?
我建議名單[1]是不一樣的你的字符串。另外,我建議你不要命名數組「列表」,因爲它是一個類型。 – moopet
乾杯moopet, 在我的代碼列表[1]實際上並沒有被稱爲,我只是需要匿名一點;) 關於列表[1]不等於我的網址:這怎麼可能,因爲我用'print list [1]'讓Python打印相應的字符串,然後將它複製到原來的位置......? – JoW
回覆:「ps」 - 人們可能會編輯它,因爲問候和謝謝你不需要在這裏。只是問題。 – jdi