国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python爬蟲中urllib庫的進(jìn)階學(xué)習(xí)

2020-02-16 11:30:37
字體:
供稿:網(wǎng)友

urllib的基本用法

urllib庫的基本組成

利用最簡單的urlopen方法爬取網(wǎng)頁html

利用Request方法構(gòu)建headers模擬瀏覽器操作

error的異常操作

urllib庫除了以上基礎(chǔ)的用法外,還有很多高級的功能,可以更加靈活的適用在爬蟲應(yīng)用中,比如:

使用HTTP的POST請求方法向服務(wù)器提交數(shù)據(jù)實(shí)現(xiàn)用戶登錄

使用代理IP解決防止反爬

設(shè)置超時(shí)提高爬蟲效率

解析URL的方法

本次將會對這些內(nèi)容進(jìn)行詳細(xì)的分析和講解。

POST請求

POST是HTTP協(xié)議的請求方法之一,也是比較常用到的一種方法,用于向服務(wù)器提交數(shù)據(jù)。博主先介紹進(jìn)行post請求的一些準(zhǔn)備工作,然后舉一個(gè)例子,對其使用以及更深層概念進(jìn)行詳細(xì)的的剖析。

POST請求的準(zhǔn)備工作

既然要提交信息給服務(wù)器,我們就需要知道信息往哪填,填什么,填寫格式是什么?帶這些問題,我們往下看。

同樣提交用戶登錄信息(用戶名和密碼),不同網(wǎng)站可能需要的東西不一樣,比如淘寶反爬機(jī)制較復(fù)雜,會有其它一大串的額外信息。這里,我們以豆瓣為例(相對簡單),目標(biāo)是弄清楚POST是如何使用的,復(fù)雜內(nèi)容會在后續(xù)實(shí)戰(zhàn)部分與大家繼續(xù)分享。

拋出上面像淘寶一樣需要的復(fù)雜信息,如果僅考慮用戶名和密碼的話,我們的準(zhǔn)備工作其實(shí)就是要弄明白用戶名和密碼標(biāo)簽的屬性name是什么,以下兩種方法可以實(shí)現(xiàn)。

瀏覽器F12查看element獲取

也可以通過抓包工具Fiddler獲取。

廢話不多說了,讓我們看看到底如何找到name?

1. 瀏覽器F12

通過瀏覽器F12元素逐層查看到(我是用的Chrome),郵箱/手機(jī)號標(biāo)簽的name="form_email", 密碼的標(biāo)簽name="form_email",如下圖紅框所示。

但要說明的是,兩個(gè)標(biāo)簽的name名稱并不是固定的,上面查看的name名稱只是豆瓣網(wǎng)站定義的,不代表所有。其它的網(wǎng)站可能有會有不同的名稱,比如name="username", name="password"之類的。因此,針對不同網(wǎng)站的登錄,需要每次查看name是什么。

2. 通過fiddler抓包工具

博主推薦使用fiddler工具,非常好用。爬蟲本身就是模擬瀏覽器工作,我們只需要知道瀏覽器是怎么工作的就可以了。

fiddler會幫助我們抓取瀏覽器POST請求的所有內(nèi)容,這樣我們得到了瀏覽器POST的信息,把它填到爬蟲程序里模擬瀏覽器操作就OK了。另外,也可以通過fiddler抓到瀏覽器請求的headers,非常方便。

安裝fiddler的小伙伴們注意:fiddler證書問題的坑(無法抓取HTTPs包),可以通過Tools —> Options —>HTTPS里面打勾Decrypt HTTPS traffic修改證書來解決。否則會一直顯示抓取 Tunnel 信息包...

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 漯河市| 永寿县| 棋牌| 东安县| 马关县| 鹤岗市| 深州市| 榕江县| 浦江县| 永宁县| 杭锦旗| 五原县| 锦州市| 玉山县| 诸城市| 怀仁县| 布拖县| 江西省| 秦皇岛市| 巴楚县| 二连浩特市| 怀仁县| 莱西市| 沙坪坝区| 济源市| 囊谦县| 庄河市| 汽车| 桦甸市| 菏泽市| 枣庄市| 五常市| 英吉沙县| 伊通| 华蓥市| 苏州市| 揭西县| 平罗县| 礼泉县| 拉萨市| 博客|