Python爬蟲(1):基礎知識

爬蟲基礎知識

1、什麼是爬蟲?

向網站發起請求,獲取資源後分析並提取有用數據的程序。css

2、爬蟲的基本流程

一、發起請求

二、獲取內容

三、解析內容

四、保存數據

3、Request和Response

Request:用戶將本身的信息經過瀏覽器(socket client)發送給服務器(socket server)html

Response:服務器接收請求,分析用戶發來的請求信息,而後返回數據(返回的數據中可能包含其餘連接,如:圖片,js,css等)python

注:瀏覽器在接收Response後,會解析其內容來顯示給用戶,而爬蟲程序在模擬瀏覽器發送請求而後接收Response後,是要提取其中的有用數據。正則表達式

4、Request中包含什麼?

一、請求方式

主要有GET、POST,還有HEAD、PUT、DELETE、POTIONS等。數據庫

二、請求URL

URL,即統一資源定位符,也就是網址,統一資源定位符是對能夠從互聯網上獲得的資源的位置和訪問方法的一種簡潔的表示,是互聯網上標準資源的地址。互聯網上的每一個文件都有一個惟一的URL,它包含的信息指出文件的位置以及瀏覽器應該怎麼處理它。網頁爬蟲

三、請求頭

User-agent、host、cookies瀏覽器

User-agent:請求頭中若是沒有user-agent客戶端配置, 服務端可能將你當作一個非法用戶。服務器

hostcookie

cookies:cookie用來保存登陸信息。python爬蟲

通常作爬蟲都會加上請求頭。

四、請求體

請求體是請求時額外攜帶的數據。若是是get方式,請求體沒有內容;若是是post方式,請求體是format data。

5、Response中包含什麼?

一、響應狀態

200:表明成功

301:表明跳轉

404:文件不存在

403:權限

502:服務器錯誤

二、響應頭

響應頭須要注意的參數:

(1)Set-Cookie:BDSVRTM=0; path=/:可能有多個,是來告訴瀏覽器,把cookie保存下來;

(2)Content-Location:服務端響應頭中包含Location返回瀏覽器以後,瀏覽器就會從新訪問另外一個頁面。

三、響應體

6、能抓取什麼數據?

一、網頁文本(HTML、Json)

二、圖片

三、視頻

四、其餘

7、網頁解析的方式

一、直接處理

二、Json處理

三、正則表達式

四、BeautifulSoup

五、PyQuery

六、XPath

8、爲何抓到的和瀏覽器看到的不同?

由於爬蟲爬取的數據是Js沒有渲染的數據,而瀏覽器中看到的是JS完成渲染後的數據。

9、怎麼用JavaScript渲染?

當咱們進行網頁爬蟲時,咱們會利用必定的規則從返回的 HTML 數據中提取出有效的信息。可是若是網頁中含有 JavaScript 代碼,咱們必須通過渲染處理才能得到原始數據。

一、分析Ajax請求

二、selenium/WebDriver

10、怎麼保存數據?

一、文本

二、關係型數據庫

三、非關係型

四、圖片音頻

 

 

各位,我回來了,3月的時候自學爬蟲,不過資料準備不足,加上拖延症發做,到如今爬蟲都還沒入門。將來會邊學邊更新,沒有辦法保證一天一更了。

文中不免有不足之處,歡迎批評指正。

 

參考資料:

一、什麼是爬蟲:http://www.cnblogs.com/935415150wang/p/7793306.html

二、Python2爬蟲學習系列教程|靜覓:https://cuiqingcai.com/1052.html

三、Python Request庫Get和Post的區別:http://www.cnblogs.com/mango-lee/p/7116425.html

四、爬蟲技術:(JavaScript渲染)動態頁面抓取超級指南:https://blog.csdn.net/sqzhao/article/details/50853996

五、python學習之python爬蟲原理 :http://www.sohu.com/a/251575938_100120307

六、爬蟲從頭學之爬蟲基本原理:https://blog.csdn.net/prospective0821/article/details/80630436

相關文章
相關標籤/搜索