91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

項目實戰,蠻適合新手小白的案例

發布時間:2020-08-06 20:50:05 來源:ITPUB博客 閱讀:145 作者:python交流 欄目:編程語言
前言

Python 的知識很多,基本的入門就有很多東西要學,還有各種合樣的庫要學習。很多同學學了一段時間,進展很慢,學了前面忘了后面!今天我就給大家介紹一個非常簡單的爬蟲小例子,來綜合練習,非常不錯!

1.爬取的目標

我們這次選擇一個比較好玩的網站叫"好奇心日報",里面的內容非常有趣,而且圖片都是高清,非常漂亮,今天我們就探索一下好奇心日報的爬取。

項目實戰,蠻適合新手小白的案例

2.準備工作

前期需要對這個網站進行簡單的分析,網頁的結構,源碼的查看,有無反爬策略等等。

1)第一步是發現好奇心日報的文章地址編碼是按數字遞增的,例如: http://www.qdaily.com/articles/38425.html

2)截止今天,好奇心日報的文章編碼已經從1到55613了,共5萬篇文章。

3)然后我發現文章的標題,分享數和文章發布日期都寫死在頁面里,但是評論數不在頁面中 。

4)為了找到評論數,我使用谷歌瀏覽器的F12的 network 功能,發現了評論是通過json 數據獲得的,地址類似: http://www.qdaily.com/comments/article/38425/0.json  。

5)看到 json 的數據自帶評論,于是我順便把評論的內容也爬下來了,順便做一個評論的詞云

看個人資料,有Python資料

3.主體代碼

1)先創建數據庫

數據庫我們用選擇最最簡單的 sqlite3 ,這個數據非常適合小白入門。這個庫的詳細用法。

項目實戰,蠻適合新手小白的案例

用一個類QDaily_DB來專門處理db的創建,保存和關閉.上面的代碼是創建部分:

1)創建一個數據庫名字叫qdaily.db,里面分布建2張表
2)一張表qdality用來保存好奇心日報的id,標題,點贊分享數,日期和評論數
3)一張表comments用來保存好奇心日報的id和每一條評論的內容

2)網頁爬取

網頁的爬取,我們這里并沒有用什么高深的庫和爬蟲框架,用簡單的requests+bs4的組合,這一個一套比較適合小白上手的庫,也沒有用并發框架。

1).網頁的下載

前面說了,好奇心日報的url的規則已經找到,只要一個一個解析就行!

項目實戰,蠻適合新手小白的案例

  • 我們輸入一個id,來構造一個url,然后把這個url填入到requests中解析即可。

  • 注意編碼方式,獲得頁面的內容html_content,然后把詳細的html_content內容填入parse_html類函數中進行詳細處理.

  • 為了防止出現爬取異常,一定要加入try/except和finally這樣的異常保護

3).頁面的解析和評論內容的獲取

下面就是這個項目稍微難有點的地方,需要用BeautifulSoup來詳細解析頁面的內容。

項目實戰,蠻適合新手小白的案例

評論區的內容稍微有一點點的復制,需要用構造一個header取獲取,直接解析頁面無法獲取。

項目實戰,蠻適合新手小白的案例

項目實戰,蠻適合新手小白的案例

sqlite的操作非常簡單,用的也是SQL的語法,上手來說非常方便。我們用insert語句動態插入數據,然后execute去執行,最后不要忘記commit!

05.:數據的展示

爬完5萬篇文章用了快一天,雖然多線程可以加快速度,但我采用單線程減輕好奇心日報服務器的壓力, 先是根據文章分享數排序:

項目實戰,蠻適合新手小白的案例

然后是根據文章的評論數排序:

項目實戰,蠻適合新手小白的案例

06:好奇心日報文章id與評論數的關系

感覺好奇心日報用的人越來越多了,那么隨著id的增加,文章的平均評論數應該也會增加。

項目實戰,蠻適合新手小白的案例

項目實戰,蠻適合新手小白的案例

可以看出越到后面,平均每篇文章的分享數就越多,反映出好奇心日報的用戶數變多

07:根據評論生成詞云

用matplotlib和wordcloud庫生成一個詞云評論圖,看看哪些關鍵字比較集中!

項目實戰,蠻適合新手小白的案例

生成的詞云結果如下

項目實戰,蠻適合新手小白的案例

發現評論比較多的是"哈哈哈","是的","呵呵","謝謝"這樣的短口語詞匯。整個這個實戰小例子還是非常有趣的,從數據爬取-數據入庫,數據分析和詞云,一條龍服務,還是非常值得去試試,對初學者強化基礎知識,入門比較有幫助。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

塔城市| 辉南县| 丽水市| 柳州市| 九江市| 门源| 河北省| 万宁市| 揭阳市| 博野县| 钦州市| 渭源县| 庆元县| 保靖县| 青铜峡市| 嫩江县| 通河县| 安吉县| 株洲县| 恩平市| 公安县| 凤台县| 林甸县| 双鸭山市| 长泰县| 舒兰市| 河北省| 伊春市| 敦煌市| 正安县| 泽州县| 隆回县| 巴林右旗| 同德县| 分宜县| 囊谦县| 泉州市| 龙胜| 内乡县| 横山县| 贵溪市|