【Python爬蟲教程】Python網(wǎng)絡(luò)爬蟲最全視頻教程(含項(xiàng)目實(shí)戰(zhàn))

1.什么是爬蟲?
請求網(wǎng)站并提取其中所需數(shù)據(jù)的自動(dòng)化程序

實(shí)例演示:
2.爬蟲的基本流程
1》發(fā)起請求
通過HTTP庫向目標(biāo)點(diǎn)發(fā)送request(可包含headers等信息),等待服務(wù)器響應(yīng)
2》獲取響應(yīng)內(nèi)容
如果服務(wù)器能正常響應(yīng),則會(huì)返還response,其中包含的內(nèi)容就是所需的內(nèi)容(可能有HTML<超文本標(biāo)記語言>,Json字符串,二進(jìn)制數(shù)據(jù)<圖片視頻等>等類型)
3》解析內(nèi)容
得到內(nèi)容后,需要用相應(yīng)的解析庫對(duì)內(nèi)容進(jìn)行解析,從而對(duì)內(nèi)容進(jìn)行保存或下一步的處理
4》保存數(shù)據(jù)
可以存為文本,也可以存于數(shù)據(jù)庫或者其它特定格式文件

3.request與response

實(shí)例演示:
4.request的包含
1》請求方式
主要常用的有GET和POST,此外還有不常用的HEAD,PUT,DELETE,OPTIONS等
<GET與POST的區(qū)別>
1、安全性不同
get請求:GET 方法發(fā)送的數(shù)據(jù)不受保護(hù),因?yàn)閿?shù)據(jù)在 URL 欄中公開,它以明文形式保存在瀏覽器歷史記錄和服務(wù)器日志中,這增加了漏洞和黑客攻擊的風(fēng)險(xiǎn)。
post請求:POST 方法發(fā)送的數(shù)據(jù)是安全的,因?yàn)閿?shù)據(jù)未在 URL 欄中公開,參數(shù)不會(huì)存儲(chǔ)在瀏覽器歷史記錄或 Web 服務(wù)器日志中,還可以在其中使用多種編碼技術(shù),這使其具有彈性。
2、編碼類型(enctype 屬性)不同
get請求:application/x-www-form-urlencoded。在表單中使用 GET 方法時(shí),數(shù)據(jù)類型中只接受 ASCII 字符。
post請求:multipart/form-data or application/x-www-form-urlencoded 對(duì)二進(jìn)制數(shù)據(jù)使用多部分編碼。在表單提交時(shí),POST 方法不綁定表單數(shù)據(jù)類型,并允許二進(jìn)制和 ASCII 字符。
3、表單數(shù)據(jù)長度不同
get請求:表單數(shù)據(jù)位于 URL 中,并且 URL 長度受到限制。安全 URL 長度限制通常為 2048 個(gè)字符,但因?yàn)g覽器和 Web 服務(wù)器而異。
post請求:無限制。
4、添加書簽不同
get請求:GET 查詢的結(jié)果可以加入書簽中,因?yàn)樗?URL 的形式存在。
post請求:POST 查詢的結(jié)果無法加入書簽中。
5、數(shù)據(jù)可變大小
get請求:GET 方法中的可變大小約為 2000 個(gè)字符。
post請求:POST 方法最多允許 8 Mb 的可變大小。
6、緩存不同
get請求:GET 方法的數(shù)據(jù)是可緩存的。
post請求:POST 方法的數(shù)據(jù)是無法緩存的。
7、主要作用不同
get請求:GET 方法主要用于獲取信息。
post請求:POST 方法主要用于更新數(shù)據(jù)。
8、能見度不同
get請求:GET方法對(duì)每個(gè)人都是可見的(它將顯示在瀏覽器的地址欄中),并且對(duì)要發(fā)送的信息量有限制。
post請求:POST 方法變量不會(huì)顯示在 URL 中。
9、發(fā)送的數(shù)據(jù)數(shù)量不同
get請求:在 GET 中,只能發(fā)送有限數(shù)量的數(shù)據(jù),因?yàn)閿?shù)據(jù)是在 URL 中發(fā)送的。
post請求:在 POST 中,可以發(fā)送大量的數(shù)據(jù),因?yàn)閿?shù)據(jù)是在正文主體中發(fā)送的。
10、可用性不同
get請求:發(fā)送密碼或其他敏感信息時(shí),不應(yīng)使用 GET 方法。
post請求:發(fā)送密碼或其他敏感信息時(shí)應(yīng)使用 POST 方法。

2》請求URL
URL:統(tǒng)一資源定位符,如網(wǎng)頁文檔,一張圖片,一個(gè)視頻等都可用URL唯一來確定
3》請求頭reques-headers
請求時(shí)的頭部信息,即請求內(nèi)容中比較重要的配置信息,如User-Agent(用戶代理)Host(端口),Cookies(小型文本)等信息
4》請求體
請求時(shí)額外所帶的數(shù)據(jù),如表單提交時(shí)的表單數(shù)據(jù)
一般來說,請求體在進(jìn)行GET請求時(shí)不會(huì)攜帶任何內(nèi)容,但在POST請求中,請求體會(huì)處于from-data的形式
5.response的包含
1》響應(yīng)狀態(tài)
如200(響應(yīng)成功),301(跳轉(zhuǎn)),404(找不到資源),502(服務(wù)器錯(cuò)誤)
2》響應(yīng)頭
如內(nèi)容類型,長度,服務(wù)器信息,設(shè)置cookie等
3》響應(yīng)體
最主要部分,包含了請求資源的內(nèi)容,如網(wǎng)頁HTML,圖片二進(jìn)制數(shù)據(jù)等
6.運(yùn)用