天天看點

Python3抓取糗百、不得姐起步主要思路運作源碼下載下傳

​點選關注  異步圖書

,置頂公衆号

每天與你分享 IT好書 技術幹貨 職場知識

重要提示1:本文所列程式均基于Python3.6,低于Python3.6的Python版本可能無法運作.

重要提示2:因所抓取的網站可能随時更改展示内容,是以程式也需及時跟進.

重要提示3:本程式僅供學習,不能拿去做壞事.​

起步

1.安裝Python 3.6;

2.安裝以下庫:

主要思路

整個程式,按照下面的步驟:

1.擷取要爬取頁面的URL位址(可以是分頁位址,可以在程式裡面模拟分頁);

2.通過requests(一個封裝了urllib3的網絡庫,簡化了很多網絡請求的東西)下載下傳上面URL位址的内容到記憶體(以前的方式是儲存臨時檔案);

3.用BeautifulSoup(一個解析HTML的庫)來讀取第二步中儲存在記憶體中的内容,并解析出我們要的主要内容部分;

4.儲存到資料庫或展示(特别說明:本示例程式不包含資料庫部分),程式最終會輸出多條json資料(已經包含了來源網站(自己定義的),建立時間等)

上述部分展現在代碼中,就是如下:

首先在Main.py中,定義:

​用來格式化不得姐擷取到的資料,下面還要定義一個Qsyk來處理來自糗事百科的資料:

代碼中還有一個Kanqu.com的抓取處理,這裡就不羅列了,這幾個唯一的差別就是:調用common.formatContent時,傳遞的第二個參數不一樣,第二個參數為要抓取的内容(HTML)的class.

CommonGrab中依賴了UserUtils.py中的代碼.

下面是CommonGrab的定義,在CommonGrab中主要做了兩件事:

  1. 抓取網頁内容,儲存到記憶體;
  2. 解析HTML内容(使用BeautifulSoup)
  3. 将資料新增到資料庫中.(不新增資料庫到資料庫中.)

代碼如下:

之後就是把上述的幾部分組合起來.

運作

運作部分的代碼如下,主要就是調用了上述幾部分的代碼:

源碼下載下傳

CSDN:

https://download.csdn.net/download/dcxy0/9835268

Coding.net:

https://coding.net/u/pruidong/p/Python3GetQsbkBdj/git

檔案:

main.py: 運作

UserUtils.py:工具​

本文來源于異步社群,作者:dcxy,作品《Python3抓取糗百、不得姐》,未經授權,禁止轉載。

推薦閱讀 2018年5月新書書單(文末福利) 2018年4月新書書單 異步圖書最全Python書單 一份程式員必備的算法書單 第一本Python神經網絡程式設計圖書

​長按二維碼,可以關注我們喲

每天與你分享IT好文。

在“

異步圖書

”背景回複“關注”,即可免費獲得2000門線上視訊課程;推薦朋友關注根據提示擷取贈書連結,免費得異步e讀版圖書一本。趕緊來參加哦!

點選閱讀原文,檢視更多

閱讀原文