学堂 学堂 学堂公众号手机端

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

lewis 1年前 (2024-04-09) 阅读数 12 #技术

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

版权声明

本文仅代表作者观点,不代表博信信息网立场。

热门