爬蟲很好玩!神級程序員通過十五分鐘帶來最全面的爬蟲入門教程!

網絡爬蟲 程序員 文章 CSS python學院 python學院 2017-11-05

爬蟲很好玩!神級程序員通過十五分鐘帶來最全面的爬蟲入門教程!

爬蟲很好玩!神級程序員通過十五分鐘帶來最全面的爬蟲入門教程!

爬蟲很好玩!神級程序員通過十五分鐘帶來最全面的爬蟲入門教程!

3. 編寫爬蟲

上面的環境準備好之後,我們正式開始編寫爬蟲,但是寫代碼之前,我們首先需要對需要爬取的頁面進行分析。給大家分享這個之前,小編推薦大家加一下這個群:330637182 這個群裡好幾千人了!大家遇到啥問題都會在裡面交流!而且免費分享零基礎入門資料 web開發 爬蟲資料一整套!是個非常好的學習交流地方!也有程序員大神給大家熱心解答各種問題!很快滿員了。欲進從速哦!等大家加入學習交流基地哦!

3.1 頁面分析

3.1.1 博客園首頁推薦博客排行

爬蟲很好玩!神級程序員通過十五分鐘帶來最全面的爬蟲入門教程!

爬蟲很好玩!神級程序員通過十五分鐘帶來最全面的爬蟲入門教程!

爬蟲很好玩!神級程序員通過十五分鐘帶來最全面的爬蟲入門教程!

5. 這樣我們使用requests編寫簡單的請求就可以獲取首頁“推薦博客排行”信息

爬蟲很好玩!神級程序員通過十五分鐘帶來最全面的爬蟲入門教程!

其中BeautifulSoup解析時,我們使用的是CSS選擇器.select方法,查找id="blogger_list" > ul >li下的所有a標籤元素,同時對結果進行處理,去除了"更多推薦博客"及""博客列表(按積分)鏈接。

使用正則表達式篩選也是同理:我們首先構造了符合條件的正則表達式,然後使用re.findall找出所有元素,同時對結果進行處理,去除了"更多推薦博客"及""博客列表(按積分)鏈接。

這樣我們就完成了第一步,獲取了首頁推薦博客列表。

爬蟲很好玩!神級程序員通過十五分鐘帶來最全面的爬蟲入門教程!

爬蟲很好玩!神級程序員通過十五分鐘帶來最全面的爬蟲入門教程!

4. 使用Requests發送GET請求,獲取“隨筆分類”示例代碼如下:

爬蟲很好玩!神級程序員通過十五分鐘帶來最全面的爬蟲入門教程!

返回結果如下:

爬蟲很好玩!神級程序員通過十五分鐘帶來最全面的爬蟲入門教程!

View Code

這樣我們就完成了第二步,獲取了博客的分類目錄及文章數量信息。

爬蟲很好玩!神級程序員通過十五分鐘帶來最全面的爬蟲入門教程!

爬蟲很好玩!神級程序員通過十五分鐘帶來最全面的爬蟲入門教程!

3. 使用Requests調用GET接口獲取排行榜信息,示例代碼如下:

爬蟲很好玩!神級程序員通過十五分鐘帶來最全面的爬蟲入門教程!

爬蟲很好玩!神級程序員通過十五分鐘帶來最全面的爬蟲入門教程!

爬蟲很好玩!神級程序員通過十五分鐘帶來最全面的爬蟲入門教程!

3.2 異步併發抓取

我們把上面的三步提取信息操作均封裝成函數,並將博客提取信息的兩步(提取分類及排行榜)封裝成一個統一的函數供異步併發調用即可。這裡我們推薦使用多進程的方式,配置的併發數與CPU核數一致即可,示例代碼如下:

爬蟲很好玩!神級程序員通過十五分鐘帶來最全面的爬蟲入門教程!

爬蟲很好玩!神級程序員通過十五分鐘帶來最全面的爬蟲入門教程!

爬蟲很好玩!神級程序員通過十五分鐘帶來最全面的爬蟲入門教程!

運行結果:略

3.3 數據處理

數據處理主要是對上面生成的好的大批量數據進行處理,主要是數據合併分組,其中相對複雜的是分類數據,基本處理邏輯如下:

1. 第一步,將所有的分類數據合併保存在一個list中,示例代碼:

爬蟲很好玩!神級程序員通過十五分鐘帶來最全面的爬蟲入門教程!

爬蟲很好玩!神級程序員通過十五分鐘帶來最全面的爬蟲入門教程!

4. 結果展示

至此我們完成了一個完整的爬蟲邏輯講解,從頁面分析到數據獲取,從數據處理到生成詞雲。下面給大家展示下,我們爬蟲的運行結果。

4.1 隨筆分類

我們分析了所有100位推薦博客的分類(這裡發現,居然有不少大佬從來沒對文章進行過分類...),並按文章數量進行排序,前10名為:

爬蟲很好玩!神級程序員通過十五分鐘帶來最全面的爬蟲入門教程!

爬蟲很好玩!神級程序員通過十五分鐘帶來最全面的爬蟲入門教程!

爬蟲很好玩!神級程序員通過十五分鐘帶來最全面的爬蟲入門教程!

爬蟲很好玩!神級程序員通過十五分鐘帶來最全面的爬蟲入門教程!

爬蟲很好玩!神級程序員通過十五分鐘帶來最全面的爬蟲入門教程!

爬蟲很好玩!神級程序員通過十五分鐘帶來最全面的爬蟲入門教程!

爬蟲很好玩!神級程序員通過十五分鐘帶來最全面的爬蟲入門教程!

爬蟲很好玩!神級程序員通過十五分鐘帶來最全面的爬蟲入門教程!

爬蟲很好玩!神級程序員通過十五分鐘帶來最全面的爬蟲入門教程!

謝謝閱讀!

爬蟲很好玩!神級程序員通過十五分鐘帶來最全面的爬蟲入門教程!

原文鏈接:如有侵權請聯繫小編刪除!

相關推薦

推薦中...