Python網路爬蟲技巧小總結,靜態、動態網頁輕鬆爬取資料

來源:互聯網
上載者:User

標籤:實用   正則表達   發送   div   pos   複雜   nbsp   驗證   alt   

很多人學用python,用得最多的還是各類爬蟲指令碼:有寫過抓代理本機驗證的指令碼,有寫過自動收郵件的指令碼,還有寫過簡單的驗證碼識別的指令碼,那麼我們今天就來總結下python爬蟲抓站的一些實用技巧。

 

靜態網頁

對於靜態網頁的爬蟲不用多說大家也都知道,因為爬取靜態網頁非常的簡單,只要用requests直接把html爬取下來然後用Regex匹配就可以了。

 

動態網頁

相對於靜態網頁的簡單,但是動態網頁的就會相對而而言會複雜一下,而且現在互連網的發展速度,動態網頁是最多的,靜態網頁是比較少的,不過他有張良計,我有過牆梯。

動態網頁的http請求分為兩種形式:

Get方法和post方法

  • Get方法:比如說我們在瀏覽器上輸入一個網路地址,就是發起一個Get方法的請求。這種網路地址就是URL。
  • Post方法:在爬蟲中不常見,故不詳細介紹

如果知道一個網站的請求是形式,熟練使用F12開發人員工具,裡面查看network就可以了。

看一下案例

 

當然了,並不是所有的網頁都是靠發送請求來得到資料的,也有非發送資料的動態網頁。

對於這樣的網站,我們一般是用selenium來做類比瀏覽器的行為,可以直接擷取瀏覽器渲染後的結果。不過selenium的速度比較慢。

具體案例如下:

 

所以無論網頁是靜態網頁還是動態網頁都是方法爬取的,當然了,很多網站是需要登入和識別驗證碼、反爬等,無論網站出什麼樣的措施都是有應對方法,關鍵在於你會不會。

Python網路爬蟲技巧小總結,靜態、動態網頁輕鬆爬取資料

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.