urllib模塊html
urllib模塊是python中自帶的一個基於爬蟲的模塊。可使用代碼模擬瀏覽器發起請求python
# 需求:爬取搜狗首頁的頁面數據 import urllib.request #1.指定url url = 'https://www.sogou.com/' #2.發起請求:urlopen能夠根據指定的url發起請求,切返回一個響應對象 response = urllib.request.urlopen(url=url) #3.獲取頁面數據:read函數返回的就是響應對象中存儲的頁面數據(byte) page_text = response.read() #4.持久化存儲 with open('./sougou.html','wb') as fp: fp.write(page_text) print('寫入數據成功')
# 需求:爬取指定詞條所對應的頁面數據 import urllib.request import urllib.parse #指定url url = 'https://www.sogou.com/web?query=' #url特性:url不能夠存在非ASCII編碼的字符數據 word = urllib.parse.quote("人民幣") url += word #有效的url #發請求 response = urllib.request.urlopen(url=url) #獲取頁面數據 page_text = response.read() with open('renminbi.html','wb') as fp: fp.write(page_text)
import urllib.request url = 'https://www.baidu.com/' #UA假裝 #1.子制定一個請求對象 headers = { #存儲任意的請求頭信息 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.67 Safari/537.36' } #該請求對象的UA進行了成功的假裝 request = urllib.request.Request(url=url,headers=headers) #2.針對自制定的請求對象發起請求 response = urllib.request.urlopen(request) print(response.read())
urlib模塊發起的post請求web
import urllib.request import urllib.parse #1.指定url url = 'https://fanyi.baidu.com/sug' #post請求攜帶的參數進行處理 流程: #1.將post請求參數封裝到字典 data = { 'kw':'西瓜' } #2.使用parse模塊中的urlencode(返回值類型爲str)進行編碼處理 data = urllib.parse.urlencode(data) #3.將步驟2的編碼結果轉換成byte類型 data = data.encode() #2.發起post請求:urlopen函數的data參數表示的就是通過處理以後的post請求攜帶的參數 response = urllib.request.urlopen(url=url,data=data) response.read()