日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

高考倒计时100天,用python看看高三党

發布時間:2024/3/13 python 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 高考倒计时100天,用python看看高三党 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

點擊上方“早起python”,關注公眾號

滿滿干貨,極速送達

一、前言

本文為python爬蟲+可視化系列第五篇,前幾篇請猛戳文末鏈接~希望能通過詳解一些簡單的小項目來學習python。今天要做的是爬取百度貼吧高考吧的帖子來看看即將高考的同學們。

二、代碼詳解

首先來看看怎樣從網站中拿到我們要的帖子標題信息,因為后面要循環去爬每一頁所以我們寫一個函數來爬,這里不用request也不用bs4等模塊,我們使用之前文章講過的mechanicalsoup去爬,來看代碼

def get_title(full_url,result):????browser = mechanicalsoup.StatefulBrowser()browser.open(full_url)res?= browser.get_current_page()tem = res.find_all('a')for?tem1 in tem:tem2 = str(tem1.get('href'))title = str(tem1.get('title'))if?len(tem2) == 13:result.append(title)return?result

那么這個函數接收兩個參數,一個是目標url,而result是一個空list用來存儲標題,第一行用來創建一個瀏覽器實例,第二行是打開目標網站,第三行獲取網頁內容,第四到九行用來提取標題信息并存儲到list中,最后將結果返回。

接下來因為我們需要爬高考吧前100頁的帖子,所以我們先來看看每一頁對應的鏈接有什么規律

看到這里,該如何生成每一頁的鏈接我想就不用多說了,看代碼

def?patieba(url, beginPage, endPage,result):for?page in?range(beginPage, endPage + 1):pn = (page - 1) * 50full_url = url + "&pn="?+ str(pn)get_title(full_url,result)

最后附上完整代碼(如果要爬更多頁數注意請求頻率和代理ip的設置哦)

import?mechanicalsoupdef?get_title(full_url,result):print(full_url)browser = mechanicalsoup.StatefulBrowser()browser.open(full_url)res = browser.get_current_page()tem = res.find_all('a')for?tem1 in?tem:tem2 = str(tem1.get('href'))title = str(tem1.get('title'))if?len(tem2) == 13:result.append(title)return?resultdef?patieba(url, beginPage, endPage,result):for?page in?range(beginPage, endPage + 1):pn = (page - 1) * 50full_url = url + "&pn="?+ str(pn)get_title(full_url,result)if?__name__ == '__main__':result = []beginPage = 1endPage = 10full_url = 'http://tieba.baidu.com/f?kw=高考'patieba(full_url, beginPage, endPage,result)

需要注意一點的是,在我們將高考吧的鏈接復制到編輯器中是不顯示中文的,也就是我們看到瀏覽器中的鏈接是

http://tieba.baidu.com/f?kw=高考

但是實際上粘貼就成了

https://tieba.baidu.com/f?kw=%E9%AB%98%E8%80%83

這是因為瀏覽器對中文請求參數進行了轉碼,用代碼訪問網站所發的請求中如果有中文也必須是轉碼之后的。但因為我們使用的mechanicalsoup會對請求自動地進行urlencode,所以可以直接使用帶中文的鏈接,如果是使用urllib去爬的話就需要進行下面一步轉碼

import?urllib.parse kw_url = "http://tieba.baidu.com/f?" kw_key = urllib.parse.urlencode({"kw": kw}) full_url = kw_url + kw_key

三、數據分析

首先來看看泡在貼吧里的年級分布

可以看到雖然即將高考,但是貼吧里依舊是高三黨占據了一大半,不過等等,怎么高考吧還混進幾位初中生。再來看看文理科分布

總體來說,還是理科生更多一點,接著看大家最喜歡在貼吧討論哪些學科

可以看到,最常常被提起的學科是數學,除了語數外討論最多的是物理化學,難道是因為這些學科難?再來看看高三黨們最想考的學校前十名

果然基本上想考的學校和大學實力成正比,不過光在貼吧發帖可不夠哦,最后看下高考吧的詞云圖

往期內容(????猛戳可查看)

熱門文章:

?情人節用python寫個網站對ta表白吧!

?用python制作動態圖表看全球疫情變化趨勢

?爬取網易云音樂1萬條評論,感受疫情下的真情

?釘釘在線求饒?五星分期付款?爬取釘釘App Store真實評價數據并分析

數據分析:

?疫情數據哪里找,看這篇就夠了

?Python一行命令生成數據分析報告

?python數據分析之清洗數據:缺失值處理

?更高級的數據可視化,使用pyecharts制作精美圖表

?python數據分析萬字干貨!全方位解讀pandas

?python數據分析——詳解python讀取數據相關操作

早起python

數據分析 | python爬蟲 | 網站開發 | 運維

數學 | 統計學

讓我知道你“在看”

總結

以上是生活随笔為你收集整理的高考倒计时100天,用python看看高三党的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。