Python爬蟲,帶你製作高逼格的數據聚合雲圖
關注「Python開發」,每天分享一個項目教程
簡介
如何讓數據聚合,製作高逼格的雲圖?你可以看看這篇文章。
今天一時興起,想用
Python爬爬自己的博客,通過數據聚合,製作高逼格的雲圖(對辭彙出現頻率視覺上的展示),看看最近我到底寫了啥文章。
一、直接上幾張我的博客數據的雲圖
1.1 爬取文章的標題的聚合
1.2 爬取文章的摘要的聚合
1.3 爬取文章的標題+摘要的聚合
我最近寫了SpringCloud系列教程,還有一些微服務架構方面,從雲圖上看,基本吻合。你若不信,可以進我的博客看看,數據還是非常準確的
二、技術棧
開發工具: pycharm
爬蟲技術:bs64、requsts、jieba
分析工具:wordArt
三、爬蟲構架設計
整個爬蟲架構非常簡單:
爬取我的博客:
http://blog.csdn.net/forezp
獲取數據
將數據用「結巴」庫,分詞。
將得到的數據在在artword上製作雲圖。
將製作出來的雲圖展示給用戶。
四、具體實現
先根據博客地址爬去數據:
url = "http://blog.csdn.net/forezp"titles=set()def download(url): if url is None: return None try: response = requests.get(url, headers={ "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36", }) if (response.status_code == 200): return response.content return None except: return None
解析標題
def parse_title(html): if html is None: return None soup = BeautifulSoup(html, "html.parser") links = soup.find_all("a", href=re.compile(r"/forezp/article/details")) for link in links: titles.add(link.get_text())
解析摘要:
def parse_descrtion(html): if html is None: return None soup=BeautifulSoup(html, "html.parser") disciptions=soup.find_all("div",attrs={"class": "article_description"}) for link in disciptions: titles.add(link.get_text())
用「結巴」分詞,」激8」分詞怎麼用,看這裡:https://github.com/fxsjy/jieba/
def jiebaSet(): strs="" if titles.__len__()==0: return for item in titles: strs=strs+item; tags = jieba.analyse.extract_tags(strs, topK=100, withWeight=True) for item in tags: print(item[0] + " " + str(int(item[1] * 1000)))
因為數據比較少,所以我直接列印在控制台,並把它複製下來,更好的方法是存在MongoDB中。
製作雲圖:
用 artword在線工具,地址:https://wordart.com
首先:
導入從控制台複製過來的數據:
令人尷尬的是,這個網站在繪製圖的時候不支持中文,需要你從c:/windows/fonts下選擇一個支持中文的字體,mac 用戶從windows拷下文件夾也可以,或者在網上下。
然後點擊Visulize就可以生成高逼格的雲圖了。講解完畢,有什麼需要改進的請大家留言。
源碼下載:https://github.com/forezp/ZhihuSpiderMan/tree/master/blogspider
五、文章參考
超簡單:快速製作一款高逼格詞雲圖
作者
:
方誌朋
鏈接:
http://blog.csdn.net/forezp/article/details/70198541
程序員大咖整理髮布,轉載請聯繫作者獲得授權。
↙點擊「
閱讀原文
」,加入
『程序員大咖』
※四個 Python 庫,實現超實用的命令行功能
※50行Python代碼實現簡單的任務隊列
※Windows上Python2與Python3 共存
※Python語言在未來的發展前景
※用 Python 做股市數據分析(一)
TAG:Python |
※Python高手和Python菜鳥的區別是什麼?
※Python機構系統高清大圖分享!讓你有方向地學Python,不再迷茫!
※微軟再發力Python,VS Code與Anaconda達成合作
※微軟再發力Python,VS Code與Anaconda達成合作
※使用Python的matplotlib畫折線圖,柱狀圖,三維圖
※Python資源大全,讓你相見恨晚的Python庫
※作為熱門榜上躥升最快的Python,你知道Python具體可以做什麼嗎?
※Python鏈式操作:PyFunctional
※Ubuntu下系統在帶Python和conda中安裝的Python共存問題
※Python如何爬取實時變化的WebSocket數據
※TensorFlow,為什麼選擇 PyThon 作為開發語言?
※「TensorFlow重大升級」自動將Python代碼轉為TF Graph,大幅簡化動態圖處理!
※Swift For TensorFlow開源,敲響了Python的喪鐘?
※TensorFlow發布重要更新AutoGraph,自動將Python轉化為TF計算圖
※可以拋棄 Python 了?Google 開源 Swift for TensorFlow 意味著什麼
※可以拋棄 Python?Google 開源 Swift for TensorFlow 意味什麼
※Python拉鉤數據採集與可視化
※TensorFlow新功能「AutoGraph」:將Python轉換為計算圖
※使用PrettyPrinter讓Python輸出更漂亮
※Python使用pandas讀取Excel文件多個WorkSheet的數據並繪製柱狀圖和熱力圖