共計 1210 個字符,預計需要花費 4 分鐘才能閱讀完成。
這篇文章主要介紹了如何使用 python 爬蟲爬取騰訊云技術社區的文章,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓丸趣 TV 小編帶著大家一起了解一下。
正文
編程思路
獲取所有文章的地址
對單文章頁進行內容提取
將所有文章進行內容提取,并將結果存入 MongoDB 數據庫中
利用分詞系統和 wordcloud 進行詞云的構建
注: 存儲所有文章地址前,我加了一個隨機數,后期隨機抽取文章進行提取
防止因日期不同導致結果具有局部性
獲取文章列表頁,所有的文章信息
保存格式為:
index 隨機數索引
title 文章名
address 文章地址
content 文章內容
def getonepageall(self, url): try: html = self.getpageindex(self.baseURL) # 采用 BeautifulSoup 解析 soup = BeautifulSoup(html, lxml) title = soup.select(.article-item .title) address = soup.select(.article-item .title a[href] ) for i in range(len(title)): # 生成隨機索引 randomnum = random.randrange(0, 6500) content = self.parsecontent(https://www.qcloud.com + address[i].get(href).strip()) yield {index : randomnum, title :title[i].get_text().strip(), address : https://www.qcloud.com + address[i].get(href).strip(), content : content} # 遇到索引錯誤時跳過 except IndexError: pass
解析文章內容
def parse_content(self, url):
html = self.get_page_index(url)
soup = BeautifulSoup(html, lxml)
# 這里直接用了 class 為 J -article-detail 的 div 里面的內容
content = soup.select(.J-article-detail)
return content[0].get_text()
結果
這里我就直接把最后生成的結果放出來了
由于分詞系統不是很好,導致結果不是很理想
這里我利用了正則表達式,將內容中所有非中文的字符去掉了
由于個人計算機配置不是很好,我將結果分為了 20 份,每份均為隨機選取的 100 篇文章組成
感謝你能夠認真閱讀完這篇文章,希望丸趣 TV 小編分享的“如何使用 python 爬蟲爬取騰訊云技術社區的文章”這篇文章對大家有幫助,同時也希望大家多多支持丸趣 TV,關注丸趣 TV 行業資訊頻道,更多相關知識等著你來學習!