意见箱
恒创运营部门将仔细参阅您的意见和建议,必要时将通过预留邮箱与您保持联络。感谢您的支持!
意见/建议
提交建议

如何使用python爬虫爬取腾讯云技术社区的文章

来源:恒创科技 编辑:恒创科技编辑部
2024-02-02 00:48:59

这篇文章主要介绍了如何使用python爬虫爬取腾讯云技术社区的文章,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

正文

编程思路

获取所有文章的地址


如何使用python爬虫爬取腾讯云技术社区的文章

对单文章页进行内容提取

将所有文章进行内容提取,并将结果存入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

解析文章内容

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爬虫爬取腾讯云技术社区的文章”这篇文章对大家有帮助,同时也希望大家多多支持恒创,关注恒创行业资讯频道,更多相关知识等着你来学习!

上一篇: RPC设计的示例分析 下一篇: 手机怎么远程登录云服务器?