共计 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 行业资讯频道,更多相关知识等着你来学习!