標籤:可迭代對象 use int web code ike 隨機 lib 對象
urllib :
使用urllib.urlencode() 進行url編碼, 在requests中內建有url編碼
接受的參數是: 字典類型
urllib2:
先構建請求: request = urllib2.Request()需要三個參數: url, data, headers
再反送請求,返迴響應: response = urllib2.urlopen(request)
-------------------------------------------------------------------------------------------------------------# python3中多了一個request,response = urllib.request.urlopen() get請求方式沒有data請求前序 headers = {"User-Agent" : "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_0) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11"} # 構建請求對象,這個請求附帶請求前序request = urllib2.Request(url, headers = headers) # 發送並得到請求響應response = urllib2.urlopen(request) html = response.read() # 讀取響應內容 有就修改沒有就添加request. add_header(‘Connection‘, ‘keep-alive‘)第一個參數是鍵名,第二參數是值擷取指定的請求前序的值,首字母大寫,後面全部小寫request . get_header() 擷取urlresponse.url擷取響應碼response.code import randomrandom.choice(列表等可迭代對象)隨機播放可迭代中的一個 urlencode(url編碼:只能使用ASCII編碼,所以要用urlencode編碼成url字串,接收的參數是字典類型) 是urllib中專屬的,這就是urllib和urllib2混用的原因url編碼轉化成字串data = urllib.unquote("a=%E4%B8%AD%E5%9B%BD%E5%BC%BA")print dataa = 中國強
python 爬蟲 加強記憶