这篇文章主要介绍了如何使用python爬虫爬取腾讯云技术社区的文章,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
正文
编程思路
获取所有文章的地址
对单文章页进行内容提取
将所有文章进行内容提取,并将结果存入MongoDB数据库中
利用分词系统和wordcloud进行词云的构建
注:
存储所有文章地址前,我加了一个随机数,后期随机抽取文章进行提取
防止因日期不同导致结果具有局部性
获取文章列表页,所有的文章信息
保存格式为:
index 随机数索引
title 文章名
address 文章地址
content 文章内容
def get
one
page
all(self, url): try: html = self.get
page
index(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)): # 生成随机索引 random
num = random.randrange(0, 6500) content = self.parse
content('https://www.qcloud.com' + address[i].get('href').strip()) yield { 'index' : random
num, 'title':title[i].get_text().strip(), 'address' : 'https://www.qcloud.com' + address[i].get('href').strip(), 'content' : content } # 遇到索引错误时跳过 except IndexError: pass
解析文章内容
defparse_content(self,url):
html=self.get_page_index(url)
soup=BeautifulSoup(html,'lxml')
#这里直接用了class为J-article-detail的div里面的内容
content=soup.select('.J-article-detail')
returncontent[0].get_text()
结果
这里我就直接把最后生成的结果放出来了
由于分词系统不是很好,导致结果不是很理想
这里我利用了正则表达式,将内容中所有非中文的字符去掉了
由于个人计算机配置不是很好,我将结果分为了20份,每份均为随机选取的100篇文章组成
感谢你能够认真阅读完这篇文章,希望小编分享的“如何使用python爬虫爬取腾讯云技术社区的文章”这篇文章对大家有帮助,同时也希望大家多多支持恒创,关注恒创行业资讯频道,更多相关知识等着你来学习!
本网站发布或转载的文章均来自网络,其原创性以及文中表达的观点和判断不代表本网站。
本文地址:https://www.henghost.com/jishu/20782/