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

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

前言

闲来周末练习下爬虫

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

这次我通过利用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 条评论
登录 后参与评论

相关文章

来自专栏大魏分享(微信公众号:david-share)

云时代企业如何建设绿色数据中心(第一篇)

建设绿色数据中心的必要性 中国目前是是全球最大的温室气体排放国,节能减排是“十二五”的重要工作内容。发改委在2013年就明确了首批10个行业的企业温室气...

3466
来自专栏Pytorch实践

游戏推动微信小程序生态,跳一跳小游戏开发

2327
来自专栏大数据和云计算技术

Automatic Management of Data and Computation in Datacenters

image.png 最近在研究数据中心的数据管理和性能优化,看了一篇2010的论文Nectar:Automatic Management of Data and...

32610
来自专栏马洪彪

eml文件解析实例,简历信息抓取工具

先上工具效果图,如下图所示: ? 背景 某公司使用58同城进行人员招聘,当有应聘人员通过58同城给该公司投简历后,58同城会发送一份邮件到该公司的注册邮箱,邮件...

3827
来自专栏吉浦迅科技

Jetson开发板相机开发入门

本讲座会让您了解: 1 .对Jetson TX1 CSI和ISP成像硬件和功能有一个基本了解。 2.使用新的Jetson c++ camera API编...

3429
来自专栏SDNLAB

P4编程理论与实践——理论篇

由于对SDN充满着兴趣,在学习了一段时间OpenFlow之后,一次偶然的机会接触到了P4。P4可以实现很多新的Idea,但是无奈于国内的实践资料太少了(有些资料...

2909
来自专栏Android 开发者

[译] 建立一个像科幻小说一样的虚拟世界:设计一个全球性的虚拟世界

3623
来自专栏1001482的专栏

从 0 到 1 打造轻量级图像识别服务框架

在这个AI时代,图像识别技术作为其基础能力之一,也在快速发展中,今天来聊聊图像识别的服务运行框架。

3.1K2
来自专栏美团技术团队

业务赋能利器之外卖特征档案

应用背景及现状 美团外卖业务自2013年9月启动至今已运营三年时间。截至2016年12月,美团点评整个外卖平台的日订单超过900万。从发展速度和体量上看,外卖业...

3897
来自专栏大数据挖掘DT机器学习

机器学习数据采集入门经验分享

在新的一年里,很多人都在思考如何利用机器学习(ML)算法来提高产品或服务的质量。 PredictionIO公司与许多公司合作,部署他们的第一个ML系统和大数据基...

3958

扫码关注云+社区