python爬虫数据可视化软件_python爬虫及数据可视化分析
1.前言
本篇文章主要介紹python爬蟲及對爬取的數據進行可視化分析,本次介紹所用的網站是(https://www.duanwenxue.com/jingdian/zheli/)
2.數據爬取
2.1定位到爬取數據
打開我們要爬取的網頁,右鍵選擇檢查,在窗口中單擊左上角箭頭,即可查看我們需要爬取的內容:
2.2爬蟲實現方法
我們要爬取一個網頁,首先我們需要向網頁發送一個請求,然后用get方法抓取數據(例如我要爬取https://www.duanwenxue.com/jingdian/zheli/的內容)
import requests
url = 'https://www.duanwenxue.com/article/5034441.html'
doc = requests.get(url)
print(doc.text)1
2
3
4
通過這個方法獲得數據是整個網頁的源碼,接下來我們,接下來要從源碼中找到并提取數據。Beautiful Soup 是 python 的一個庫,其最主要的功能是從網頁中抓取數據。(例如我要獲得https://www.duanwenxue.com/article/5035160.html的散文)
import requests
from bs4 import BeautifulSoup
url='https://www.duanwenxue.com/article/5034441.html'
html=requests.get(url)
html.encoding='gbk'
doc=BeautifulSoup(html.text,'lxml')
a=doc.find('span',{'id':'audio-span'})
c=doc.find('div',{'id':'shangDiv'})
a.decompose() # 刪除無用信息
c.decompose()
cont=doc.find('div',{'class':'article-content'}).findAll('p')
content=''
for i in cont:
print(i.text)1
2
3
4
5
6
7
8
9
10
11
12
13
14
輸出結果:
人生實在當下,生活唯有形態在奮斗。——余昌開
當下就是人生實現夢想奮斗時。——余昌開
人務必從今開始,努力奮斗,實現人生的理想。——余昌開
人活著最務實的形態,是現在正在奮斗人生美好的進行中。——余昌開
版權作品,未經《短文學》書面授權,嚴禁轉載,違者將被追究法律責任。
3.數據可視化分析
數據可視化是數據分析很重要的一部分,將數據進行可視化,更直觀的呈現使數據更加客觀、更具說服力。
matplotlib是用來創建圖表的工具包之一,是一個Python 2D繪圖庫,它可以在各種平臺上以各種硬拷貝格式和交互式環境生成出具有出版品質的圖形。
3.1將短文學網的各類文章做一個統計
柱形圖:
plt.rcParams['font.sans-serif']=['SimHei']
plt.figure(figsize=(10,10))
plt.xticks(rotation=45)
plt.title("各類文章數目")# 標題
plt.xlabel("文章類型")#橫坐標名字
plt.ylabel("數量")#縱坐標名字
plt.bar(x, y)
for x,y in zip(x,y): plt.text(x,y,"{f}".format(f=y),ha="center",va='bottom')
plt.show()1
2
3
4
5
6
7
8
9
10
結果:
餅狀圖:
plt.figure(figsize=(30, 30)) #設置大小
plt.pie(y,labels = x, autopct='%1.1f%%')
plt.axis('equal')
plt.show()1
2
3
4
結果:
通過對柱形圖和餅狀圖的觀察,可以發現在短文學中,“散文隨筆”,“心情隨筆”,“散文詩”,“散文文字”,“經典語錄”類的文學作品占大部分(82%),而其他類型的作品占小部分(18%)。
3.2對某一類文章進行分析
我們選擇對勵志文章的標題進行分析,通過標題的重點詞匯生成詞云,反映出這類文章的大致內容趨向于哪一方面。
代碼如下:
stopwords={'你','我','的','自己'}# 去掉無用的詞
word_cut=jieba.cut(word_content)
word_cut_join=" ".join(word_cut)#把分詞用空格連起來
#生成詞云
wc=WordCloud( font_path='simsun.ttc',#設置字體 max_words=100,#詞云顯示的最大詞數 # mask=mask_img,#設置背景圖片 stopwords=stopwords, background_color='white'#背景顏色 ).generate(word_cut_join)
plt.imshow(wc)
plt.axis('off')#去掉坐標軸
plt.savefig('title.jpg')
plt.show()1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
結果:
可以看到,多次出現的大學有 “河南”,“科技”,“大學”,“農學院”。
以上便是本文全部內容,代碼只包含主要部分,關于數據可視化還有其他幾種方法,具體可查看python使用Matplotlib畫圖。
文章來源: blog.csdn.net,作者:Tbaodeng_T,版權歸原作者所有,如需轉載,請聯系作者。
原文鏈接:blog.csdn.net/Tbaodeng/article/details/111825063
總結
以上是生活随笔為你收集整理的python爬虫数据可视化软件_python爬虫及数据可视化分析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android java标准时间_jav
- 下一篇: websocket python爬虫_p