为了一窥国足输韩国之后人们的评论,我爬了懂球帝App
【导语】2019亚洲杯决赛正如火如荼进行中,国足的晋级之路可谓用“惊现”二字评论。继1月16日,国足对战韩国队败北后,一名Python学习者为了一窥网友们的评论,特意爬了懂球帝App的数据。
最新喜讯是在20日国足对战泰国的比赛中,成功逆转战胜泰国晋级八强,无不惊喜。让我们来学习下本文相关技术要点。
正文:
如果你是个足球迷的话,估计或多或少都会看一下昨晚中国踢韩国的比赛,因为不管他们踢得怎样,我们还是深爱着他们,那句话说得好,“国足虐我千百遍,我待国足如初恋”。更何况他们两场都踢赢了,所以面对第三场实力有点强的韩国队也是希望能赢的,毕竟我们也在十二强赛上赢过他们!
如果你不是个足球迷,但你也可以看看,可以学习下如何去抓APP的数据。好了,废话不多说,开始抓取!
1. 抓包分析请求
手机抓包我们可以用 Fiddler 软件来抓取,如果不懂怎样抓的话,可以看看这篇文章《抓包软件 Fiddler 了解一下?》(文章链接:https://mp.weixin.qq.com/s/G7xjvoh77pwcsP1KNotxjw)
配置好之后,开始抓包。
首先找到需要爬取的文章
懂球帝app截图
文章链接为:https://m.dongqiudi.com/article_share/896482.html
在配置好抓包之后,点击下方的评论,可以看到
评论截图
抓包截图
很容易就找到文章评论的请求,就是下面这个
可以看到请求的链接为:https://api.dongqiudi.com/v2/article/896482/comment?sort=down&version=177 ,
请求方法为GET,接下来就好办了,我们再看看滑下去查看更多的评论的请求。
可以看到,向下翻页多了两个参数,不过容易知道,next 参数就是一个时间戳,而 pn参数就是页数吧,从 0 开始的。
但是怎样判断所有评论已经爬完了呢?我们可以看看数据的详情,下面将 json 数据格式化,在下图可以看到在 data 里面有下一页的数据,那这就容易了,哈哈
分析了,接下来就是代码部分了。
2. 代码部分
这是主体部分,先从第一个评论链接中爬取评论以及找出下一页的评论地址进而继续爬取。这里是把数据库存进 mongodb 中。
主要的爬取逻辑,可以看出来是比较简单的,因为没有涉及到什么加密参数之类的,但是有一个问题,每一次进行请求的时候,有时候是会返回带有相同的评论的,所以我们也需要在数据库简单地进行去重。
下面是入库和去重的代码部分
剩下的就没有了。
3. 查看所得的数据
由于数据分析还不熟悉,所以暂时只制作词云图。
需要先将数据写到文本上
词云图是:
可以看出,昨晚国足输一场,也被很多人喷了,但是还是有很多人是一直支持的,永远都为国足加油,里面也说到了,中国和韩国是有一定差距的,而且还有点大,输了也正常不过了,没必要喷,再说我觉得昨晚的比赛已经比第一场的比赛好很多(第二次没看),还是有进步的,我对国足未来淘汰赛也是充满期望的,我相信能走得更远!
下一场踢泰国,20号,有人看吗?
作者简介:sergiojune,一名喜欢折腾的python学习者,跟着我一起学python,你不会迷路!这里会有你喜欢的爬虫,这里的爬虫有从0到1的文章,以后还会有数据可视化、数据分析,也会讲些技巧等。欢迎你的关注,一起成长!
本文经授权转载自微信公众号“日常学python”(ID:daily_learn)
相关文章:

Mac下mysql服务器安装
Mac下mysql服务器安装 下载mysql 进入http://dev.mysql.com/downloads/mysql/ 下载Mac OS X 10.9 (x86, 64-bit), Compressed TAR Archive 安装 tar -zxvf mysql-5.6.25-osx10.9-x86_64.tar.gz mv mysql-5.6.25-osx10.9-x86_64 mysql cd mysql sudo scripts/mysql_install_db -…

linux查找文件
find . | grep xyz 将当前目录下(包括子目录)的文件名中含有xyz的文件过滤出来 find . | xargs grep xyz 将当前目录下(包括子目录)的文件内容中含有xyz的行过滤出来 转载于:https://www.cnblogs.com/anovana/p/8036032.html

Grape Api 笔记
关键字:namespace aliases:group,resources,resources,segment define route parameter: 1. namespace :id 2. param_route :id 关键字before 每次api请求前均执行一次 关键字helpers 1. 定义module,通过…

第一个spring boot应用
前提 首先要确保已经安装了java和maven: $ java -version java version "1.8.0_102" Java(TM) SE Runtime Environment (build 1.8.0_102-b14) Java HotSpot(TM) 64-Bit Server VM (build 25.102-b14, mixed mode) $ mvn -v Apache Maven 3.3.9 (bb52d850…

【转载】xp自动校时
招式一. 自由设定XP时间同步间隔 而对于Windows 2000和XP,由于自身已经集成了自动对时功能,就不用像Win98那样麻烦地安装第三方软件了。但系统默认的时间同步间隔只是7天,我们无法自由选择,使得这个功能在灵活性方面大打折扣。其实…

发改委:互联网企业没有出现大规模裁员现象
1 月 22 日,据中国网报道,国家发改委就宏观经济运行情况举行发布会,新闻发言人孟玮就近期互联网行业裁员情况以及就业保障问题予以回应。 孟玮表示,近期国家发改委通过多种方式进行了调研,包括到有关企业进行座谈&…

php操作mysql的常用语句(大全)
SQL分类:DDL—数据定义语言(Create,Alter,Drop,DECLARE)DML—数据操纵语言(Select,Delete,Update,Insert)DCL—数据控制语言(GRANT,REVOKE,COMMIT,ROLLBACK)p…
ElasticSearch + xpack 使用
ElasticSearch 是一个高可用开源全文检索和分析组件。提供存储服务,搜索服务,大数据准实时分析等。一般用于提供一些提供复杂搜索的应。我们为什么要选择 ElasticSearch ?因为它是一个准实时的搜索工具,在一般情况下延时少于一秒&…

java coverage exclude使用
使用cobertura:http://mojo.codehaus.org/cobertura-maven-plugin/usage.html 若想要忽略一部分代码,可以通过exclude来指定: <configuration> <instrumentation><excludes><exclude>com/alibaba/ws/gcenter/web/**/…

人工智障?243个机器人被裁
图片源自 Henn-na 官网作者 | 若名出品 | AI科技大本营(ID: rgznai100)全球经济降温,企业裁员消息不断,如果你不能带来显著效益,则很有可能被淘汰,即使是机器人,也难逃被裁的命运。“我们酒店的…

Silverlight C# 游戏开发:Silverlight开发环境
Silverlight C# 游戏开发:Silverlight开发环境 所谓工欲善其事必先利其器,没有好的工具也没有办法做事,我以前曾经想学习C以外的程序语言,当时有java和C#来选择,当时考虑java比较受推崇,可能会比较好一些&a…

算法工程师必须要知道的面试技能雷达图
本文作者王喆,硅谷高级机器学习工程师。转载自知乎专栏:https://zhuanlan.zhihu.com/p/52169807这里是 王喆的机器学习笔记 的第五篇文章,今天我们不聊paper,换一个轻松一点的话题,聊一聊如何准备算法工程师的面试。今…

Qt中文手册 之 QHeaderView
一、 头文件:#include<QHeaderView> 继承自:QAbstractItemView 二、属性 1、cascadingSectionResizes : bool 如果下一区域已经达到最小,是否继续改变下下一个区域的大小。 前提条件是:设置setResizeMode()为interactive 默认是false 相关函数: bool cascadingS…

Linux硬盘性能测试工具 - FIO
1.安装:方法一:直接用指令yum -y install fio方法二:如果方法一不可行则,在官网http://freshmeat.net/projects/fio/下载fio的安装包。安装方法很简单。解压缩后,进入目录输入./configure make make install。2.执行…

linux下vmware tools工具共享
(1.)现在windows 创建一个文件件linux,添加一个test.txt文件(2).虚拟机—设置(red hat linux挂载起来,或运行,有的时候都处于禁用状态,如果这样就有关闭red hat linux,然后再进行设置)--选项 –文件夹共享—…

在全面部署 IPV6 前,你需要了解都在这儿
IPv6 的发展形势 近日,中办国办印发《推进互联网协议第六版(IPv6)规模部署行动计划》(以下简称《计划》),加快推进基于 IPv6 的下一代互联网规模部署,计划指出到 2018 年末国内 IPv6 活跃用户数…

Qt中文手册 之 QApplication
QApplication管理GUI程序的控制流和主要设置。 QApplication包含由窗口系统和其他来源处理过和发送过的主事件循环。它也处理应用程序的初始化和收尾工作,并提供对话管理。QApplication可以对系统和应用的大部分设置项进行设置。 对于用Qt写的任何一个GUI应用,不管这个应用…

微信真要做操作系统了?
整理 | 仲培艺转载自CSDN(ID:CSDNnews)微信爸爸又带着小程序搞事了,一夕之间,小程序界面“变天”,类操作系统来了。「微信二楼」:欢迎来到小程序的世界下拉即见又一个手机桌面?!1 月…

netsh命令修改ip
当前笔记本的可移动性增强,我们需要在多个环境下接入网络开始工作,在没有路由器自动分配的情况下,就需要每次手动设置IP地址和网关等信息,相当烦琐,通过实践利用netsh命令用快捷方式实现了IP地址的快速切换。A. 基本用…

谷歌Waymo自建车厂,L4级无人车量产指日可待
编译整理 | 一一出品 | AI科技大本营(ID:rgznai100)现在,Waymo 宣称世界上第一家 100% 致力于大规模生产 L4 自动驾驶汽车的工厂,即将诞生。美国当地时间 1 月 22 日,Google 旗下无人驾驶公司 Waymo 宣布&a…

Qt中文手册 之 QTableWidget
简介: QTableWidget是基于QTableView的一个默认的视图模型;它用于显示一个标准的表格。表格中每一个项通过QTableWidgetItem来实现。 头文件:#include <QTableWidget> 继承自:QTableView 成员函数: 1、QTableWidget::QTableWidget(QWidget * parent = 0) 默认构…

vue-cli 使用小技巧
1.关闭烦人的eslint 语法检测,在 config 文件夹下 设置: // Use Eslint Loader? // If true, your code will be linted during bundling and // linting errors and warnings will be shown in the console. useEslint: false, //设置为false 2.引入sc…

架构师成长之路-个人学习经验分享(公司研发峰会演讲ppt)
前天在公司分享了一些学习经验,园子中感兴趣可以看看。建议大家使用pptPlex来看这个片子。 首先从我在成长中不同阶段的工作和体会来谈不同阶段的学习内容谈起,为了做好这些必修课,我会对知识+实践+思考+心态ÿ…

Qt 事件处理和事件过滤器的返回值总结
事件处理: 1、返回 true:告诉Qt已经处理的这个事件 2、返回 false:Qt会把这个事件传递给它的父窗口部件来处理 3、返回 基类的event(QEvent*):Qt把这个事件交个它的基类来处理(注意与返回 fa…

C++转Python这三年,我都经历了什么?
作者 | asya f,计算机视觉专家,编程语言铁粉。译者 | 安翔,责编 | 沭七转载自 CSDN(ID:CSDNnews)很多人都说用 Python 编程十分简单,即便是 6 岁的小孩也可轻松学会。我自己最开始使用 Python 编…

炎热夏天到底如何让自己更凉快? - 生活至上,美容至尚!
酷暑难耐,晚上睡觉都不能睡好,早上一起来就大汗淋漓,天气越来越热 火辣辣的太阳,让人食欲一落千丈。 如何让食物和调料成为闷热天气解暑良方呢? 根据中医对中药性能的四气五味理论,凡是寒性或凉性的中药,都…

华为又一重拳!全球首款5G基站核心芯片“天罡”发布!
作者 | 孙浩峰来源 | CSDN云计算(ID:CSDNcloud)1 月 24 日,华为在北京举办 5G 发布会暨 2019 世界移动大会预沟通会,发布了全球首款 5G 基站核心芯片——华为天罡,致力打造极简 5G,助推全球 5G 大规模快速部…

Qt中文手册 之 QTreeWidget
头文件:#include<QTreeWidget> 继承自:QTreeView 属性: 1、columnCount : int 树中有多少列,默认是1; intcolumnCount() constvoidsetColumnCount(int columns) 2、topLevelItemCount : constint 树中有多少顶层项,默认是0; 成员函数 1、QTreeWidget::QTreeW…

12. 17 哈理工网络赛
An Easy Geometry Problem Description Lily is interested in hyperspace recently, and she is trying to solve an easy problem now. Given an n-dimensional hyperspace, assuming each dimension is a1, a2, a3, ..., an. And for each i (1 ≤ i ≤ n), j (i < j ≤ …

微信确认出Bug,目前已全部恢复
1 月 24 日,微信官方发布声明称,今天上午,微信部分功能出现故障,微信用户登录、消息会话、公众号、小程序、外部链接、文件发送等功能均受到不同程度的影响,波及小部分用户。今日 10:30 左右,有网友表示&am…