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