《Python學習》專欄·第2篇
文 | 段洵
1099字 | 5 分鐘閱讀
• requests:HTTP請求庫
Python實現的一個簡單易用的HTTP庫,支持HTTP持久連接和連接池、SSL證書驗證、cookies處理、流式上傳等,向伺服器發起請求並獲取響應,完成訪問網頁的步驟,簡潔、容易理解,是最友好的網絡爬蟲庫。
http請求類型
requests.request():構造一個請求
requests.get():獲取HTML網頁
requests.head():獲取HTML網頁頭信息
requests.post():提交POST請求
requests.put():提交PUT請求
requests.patch():提交局部修改請求
requests.delete():提交刪除請求
requests.options():獲取http請求
返回的是一個response對象,response對象包含伺服器返回的所有信息,例如狀態碼、編碼形式、文本內容等;也包含請求的request信息 .status_code:HTTP請求的返回狀態 .text:HTTP響應內容的字符串形式 .content:HTTP響應內容的二進位形式 .encoding:(從HTTP header中)分析響應內容的編碼方式 .apparent_encoding:(從內容中)分析響應內容的編碼方式。
定製請求頭。requests的請求接口有一個名為headers的參數,向它傳遞一個字典來完成請求頭定製。設置代理。一些網站設置了同一IP訪問次數的限制,可以在發送請求時指定proxies參數來替換代理,解決這一問題。
• beautifulsoup4:HTML文檔分析庫
頁面解析器:使用requests庫下載了網頁並轉換成字符串後,需要一個解析器來處理HTML和XML,解析頁面格式,提取有用的信息。
解析器類型
搜索方法:find_all(name, attrs, recursive, string,**kwargs),返回文檔中符合條件的所有tag,是一個列表。find(name, attrs, recursive, string,**kwargs) ,相當於find_all()中limit = 1,返回一個結果。name:對標籤名稱的檢索字符串。attrs: 對標籤屬性值的檢索字符串。recursive: 是否對子節點全部檢索,默認為True。string: <>...</> 中檢索字符串。**kwargs:關鍵詞參數列表。
• lxml:頁面解析器
分析網頁結構
爬取頁面:通過requests庫向目標站點發送請求,若對方伺服器正常響應,能夠收到一個response對象,它包含了伺服器返回的所有信息。
解析頁面:HTML代碼-網頁解析器,此處使用bs4進行解析。
推薦閱讀:圖像處理
數據思踐公眾號記錄和分享數據人思考和踐行的內容與故事。
請掃下方二維碼加我為好友,備註Python-入群。有朋自遠方來,不亦樂乎,並誠邀入群,以達相互學習和進步之美好心願。