爬蟲_urllib的get請求
阿新 • • 發佈:2022-05-20
1.get請求的quote方法
quote()方法:是將漢字轉換成unicode編碼
import urllib.request import urllib.parse url = 'https://www.baidu.com/s?wd=' #請求物件的定製是為了解決反爬的第一種手段 headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.67 Safari/537.36' } #將“周杰倫”三個漢字變成unicode編碼的格式#需要依賴urllib.parse name = urllib.parse.quote('周杰倫') #拼接請求的新url url = url+name #請求物件的定製 request = urllib.request.Request(url=url,headers=headers) #模擬瀏覽器向伺服器傳送請求 response = urllib.request.urlopen(request) #獲取響應的內容 content = response.read().decode('utf-8') #列印資料 print(content)
2.urlencode方法
import urllib.requestimport urllib.parse base_url = 'https://www.baidu.com' data = { 'wd':'周杰倫', 'sex':'男', 'location':'中國臺灣省' } new_data = urllib.parse.urlencode(data) # 請求資源路徑 url = base_url + new_data headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.67 Safari/537.36' } # 請求物件的定製 request = urllib.request.Request(url = url,headers= headers) # 模擬瀏覽器向伺服器傳送請求 response = urllib.request.urlopen(request) #獲取網頁原始碼的資料 content = response.read().decode('utf-8') #列印資料 print(content)