Python 爬蟲基礎入門

2022-03-13 09:22:53 字數 2560 閱讀 5041

1.你是否在夜深人靜的時候,想看一些會讓你更睡不著的卻苦於沒有資源?

2.你是否在節假日出行高峰的時候,想快速搶購火車票成功?

3.你是否在網上購物的時候,想快速且精準的定位到口碑質量最好的商品?

通過編寫程式,模擬瀏覽器上網,然後讓其去網際網路上抓取資料的過程。

抓取網際網路上的資料,為我所用,有了大量的資料,就如同有了乙個資料銀行一樣,下一步做的就是如何將這些爬取的資料產品化,商業化

使用http庫向目標站點發起請求,即傳送乙個request

request包含:請求頭、請求體等 

request模組缺陷:不能執行js 和css **

解析html資料:正規表示式(re模組),第三方解析庫如beautifulsoup,pyquery等

解析json資料:json模組

解析二進位制資料:以wb的方式寫入檔案

資料庫(mysql,mongdb、redis)

檔案

request:使用者將自己的資訊通過瀏覽器(socket client)傳送給伺服器(socket server)

response:伺服器接收請求,分析使用者發來的請求資訊,然後返回資料(返回的資料中可能包含其他鏈結,如:,js,css等)

ps:瀏覽器在接收response後,會解析其內容來顯示給使用者,而爬蟲程式在模擬瀏覽器傳送請求然後接收response後,是要提取其中的有用資料。

常見的請求方式:get / post

user-agent:請求頭中如果沒有user-agent客戶端配置,服務端可能將你當做乙個非法使用者host;

cookies:cookie用來儲存登入資訊

注意:一般做爬蟲都會加上請求頭

請求頭需要注意的引數:

(1)referrer:訪問源至**來(一些大型**,會通過referrer 做防盜煉策略;所有爬蟲也要注意模擬)

(2)user-agent:訪問的瀏覽器(要加上否則會被當成爬蟲程式)

(3)cookie:請求頭注意攜帶

如果是get方式,請求體沒有內容(get請求的請求體放在 url後面引數中,直接能看到)

如果是post方式,請求體是format data

ps:1、登入視窗,檔案上傳等,資訊都會被附加到請求體內

2、登入,輸入錯誤的使用者名稱密碼,然後提交,就可以看到post,正確登入後頁面通常會跳轉,無法捕捉到 post

200:代表成功

301:代表跳轉

404:檔案不存在

403:無許可權訪問

502:伺服器錯誤

響應頭需要注意的引數:

(1)set-cookie:bdsvrtm=0; path=/:可能有多個,是來告訴瀏覽器,把cookie儲存下來

(2)content-location:服務端響應頭中包含location返回瀏覽器之後,瀏覽器就會重新訪問另乙個頁面

jso資料

如網頁html,

二進位制資料等

爬取--->解析--->儲存

請求庫:requests,selenium(可以驅動瀏覽器解析渲染css和js,但有效能劣勢(有用沒用的網頁都會載入);) 

解析庫:正則,beautifulsoup,pyquery 

儲存庫:檔案,mysql,mongodb,redis~~

python爬蟲之 入門基礎

可以參考我之前學習的時候 的一篇文章一次完整的http事務過程 超詳細 2.還需要了解一下http的請求方式 有興趣的同學可以去查一下http的八種請求方法,這裡呢主要說下get請求和post請求,這兩種在以後學習中會用到的比較多。get請求 get方法用於使用給定的uri從給定伺服器中檢索資訊,即...

Python爬蟲入門(2) 爬蟲基礎了解

爬蟲,即網路爬蟲,大家可以理解為在網路上爬行的一直蜘蛛,網際網路就比作一張大網,而爬蟲便是在這張網上爬來爬去的蜘蛛咯,如果它遇到資源,那麼它就會抓取下來。想抓取什麼?這個由你來控制它咯。比如它在抓取乙個網頁,在這個網中他發現了一條道路,其實就是指向網頁的超連結,那麼它就可以爬到另一張網上來獲取資料。...

Python爬蟲入門二之爬蟲基礎了解

靜覓 python爬蟲入門二之爬蟲基礎了解 爬蟲,即網路爬蟲,大家可以理解為在網路上爬行的一直蜘蛛,網際網路就比作一張大網,而爬蟲便是在這張網上爬來爬去的蜘蛛咯,如果它遇到資源,那麼它就會抓取下來。想抓取什麼?這個由你來控制它咯。比如它在抓取乙個網頁,在這個網中他發現了一條道路,其實就是指向網頁的超...