我用爬虫爬取了“腾讯云技术社区“所有的文章,看看我得到了什么

我用爬虫爬取了“腾讯云技术社区”所有的文章,看看我得到了什么

前言

闲来周末练习下爬虫

就拿腾讯云技术社区来开刀, 哈, 经典皮卡丘开头

这次我通过利用Python爬虫

加上一个"不完美"的分词系统

构建了,腾讯云技术社区所有文章的词云,来看看总体大概都写了什么

嘻嘻嘻:)

正文

编程思路

  1. 获取所有文章的地址
  2. 对单文章页进行内容提取
  3. 将所有文章进行内容提取,并将结果存入MongoDB数据库中
  4. 利用分词系统和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

解析文章内容
    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篇文章组成

这就是所有文章生成的词云,分词和筛选不是很好,导致数词、人称名词多

总结

可以看出, 腾讯云技术社区上的文章,大部分都是和数据有关的

哈哈,不是很理想,待日后改善一下(词的筛选)

最后打个小广告,希望大家关注下我的公众号: ikang_kj

嘿嘿 :)

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏生信技能树

TCGA的28篇教程-所以癌症的突变全景图

有了MAF格式的突变数据,比如TCGA里面的乳腺癌的1000个左右的样本的突变信息,就很容易走maftool这个包,进行绘图,代码如下:

2972
来自专栏智能算法

TensorFlow Lite在Kika Keyboard中的应用案例分享

『基于 AI 技术变革沟通,让世界沟通更简单』一直是 Kika keyboard 最重要的使命。从2016年开始,Kika 技术团队一直致力于 AI 技术在移动...

1413
来自专栏目标检测和深度学习

终于!大家心心念念的PyTorch Windows官方支持来了

这一次更新从 0.3.1 到 0.4.0 有着非常多的改进,最重要的就是官方支持 Windows 系统。在没有官方支持前,Windows 上安装 PyTorch...

973
来自专栏从流域到海域

《笨办法学Python》 第36课手记

《笨办法学Python》 第36课手记 本节课讲设计与调试。规则和技巧需要你熟记于心,你可以重复多看几遍,每一遍间隔一天,确保你记住这些内容,它们能使你写出优雅...

19410
来自专栏听雨堂

简单账本-用完即走的微信小程序

        作为一个记账强迫症患者,对当前手机中的记账App都不太满意。这类软件越来越臃肿,越来越慢,启动要半天、联网同步要半天,进入界面又有一堆新功能要介...

1966
来自专栏量子位

TensorFlow 1.9.0正式版来了!新手指南全新改版,支持梯度提升树估计器

882
来自专栏贾老师の博客

游戏中的网络同步

1934
来自专栏北京马哥教育

国庆不去哪儿:用python爬虫爬取热门景点并生成热力图

前言:本文建议有一定Python基础和前端(html,js)基础的盆友阅读,零基础可以去看我之前的文。(咳咳,不能总更小白文,这样显得我不(mei)够(you)...

45010
来自专栏机器之心

教程 | 如何使用Swift在iOS 11中加入原生机器学习视觉模型

选自Hackernoon 机器之心编译 作者:Alex Wulff 参与:侯韵楚、李泽南 随着 WWDC 大会上 iOS 11 的发布,苹果终于推出了原生机器学...

3055
来自专栏PaddlePaddle

PaddlePaddle最全学习资源一览(内附直达链接)

上手PaddlePaddle,随便一搜“PaddlePaddle课程” ,官方和培训机构搜索结果倒不少,这可如何选择?

1032

扫码关注云+社区