Hi!请登陆

站内创作者必读:只需5分钟,使用WebScraper查看你在创作活动中的排名

2020-11-14 44 11/14

前言

说起来有些汗颜,接触张大妈有七八年了,但是今年才开始学着写点稿子。真正开始在张大妈上创作内容后才发现,站内的创作活动好多,而且活动奖励也很丰富。

工作之余写写文章,既能记录自己的生活心得,又能和站内值友聊天打屁,运气好还能拿点小奖励,一箭三雕美滋滋,实乃工作解压的好方法。

经过观察发现,创作活动的排名奖励一般有以下几种:

1.根据单篇文章的热度进行排名,比如:

2.根据活动过程中单人发布的所有文章热度之和进行排名,比如:

3.根据活动过程中的发布文章数量进行排名,比如:

4.根据文章热度+评委打分进行排名,比如:

第4种活动因为涉及到评委的打分,所以在实际排名时会有一些变数。但是前三种活动基本都是依据热度、发文数量等明确的数据来进行排名的。

相信大家在获奖名单公布前肯定会好奇自己在参加的创作活动中究竟表现如何,排名到底是多少,能不能获得奖励。

对于单篇文章的排名活动,虽然在电脑网页上无法以热度进行排序查看,但是在手机APP上是可以实现的:

不过对于活动过程中单人发布的所有文章热度之和以及单人发布的数量,还是无法直接进行查看。

对于参与人数较少的活动来说,可以手动挨个查看文章并在Excel中进行数据统计;但是对于#我的省钱绝活#这种参与人数众多的大型活动来说,手动统计就不现实了。

此时,使用自动抓取网页信息的爬虫类工具提取信息然后进行分析,似乎已经成为了唯一的解决方案。

网络爬虫(又称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。

但是对于我这种代码小白来说,想用Python之类的语言自己编写爬虫程序基本属于天方夜谭。不过经过自己在网络上多方查询,还是找到了一款不用敲代码,只需要鼠标点一点就能抓取网页信息的工具插件:web scraper。

下面就来具体介绍应该如何使用web scraper来抓取站内文章热度数据,进而统计活动排名情况,帮助大家多写文章多拿奖。一、安装web scraper

▼web scraper是chrome浏览器的一个扩展插件,可以在chrome的wang网上应用商店找到该插件:

安装该扩展插件后,我们还需要进行一下小设置才能使用。

1.在chrome中按F12键,打开开发调试工具。

▼此时开发调试工具默认会在网页的右侧显示,我们需要点一下下图中右上侧的三个小点:

▼然后用鼠标点一下自左向右第三个按钮,将开发调试工具的显示位置设置在网页下方。

▼当开发调试工具在网页下方显示时,我们就能在左右侧看到web scraper 的按钮了:

二、使用web scraper抓取文章信息

这里我们以刚刚结束征稿的#我的省钱绝活#活动为例,来进行演示。

1.获取创作活动的文章目录

(1)随意打开一篇参与该话题的文章,来到文章正文的最下方,点击话题标签,进入该话题下的文章目录。

(2)然后复制该页面的网址链接,备用。

https://www.smzdm.com/tag/tr0l0yl/post/

(3)此时我们点击文章列表最下方的“下一页”,然后观察列表网址,变成了:

https://www.smzdm.com/tag/tr0l0yl/post/p2

▼可以发现相较列表的第一页,网址后缀多了一个“p2”的标识,意为列表的第二页。

经实测,将P2改成P1时,依然能正常进入列表的第一页,这也是我们设置抓取列表范围的基础。

(4)多费一下鼠标,连续点击下一页,看看参加这个活动的文章列表到底有几页。

可以看到,列表总共有21页,我们记住21这个数字。

2.设置需要抓取的页面范围

▼点击开发与调试工具栏的“web scraper”按钮,选择“Create new sitemap”——“Create sitemap”。

▼Sitemap name随便填一个好记的名字就好,然后在Start URL中粘贴我们刚才复制的活动列表页面网址。

注意,在粘贴网址时我们要设定网页的范围。因为文章列表总共有21页,所以我们要在网址后加上p[1-21],意为抓取的页面范围为从

https://www.smzdm.com/tag/tr0l0yl/post/p1

https://www.smzdm.com/tag/tr0l0yl/post/p21

这21个网页。注意这里用的是英文的中括号[],截图里我敲错了一个,后来修改过来了。

然后点击Create sitemap进行保存即可。

3.设置选择器

(1)点击sitemaps,然后选中刚才我们创建的工程,进入操作。

▼然后点击Add new selector,创建选择器。

(2)web scraper在抓取数据时是不排序的,而我们需要以每一篇文章为单位,分别统计标题、作者、点赞、收藏、评论、发布时间等数据,因此我们需要先将下图红框内的单篇文章作为一整个整体进行选择。

操作方法如下:

▼在刚才点击Add new selector后会进入如下界面,我们将Id设置为自己好记忆的名字,将Type设置为Element(意为元素集合),然后勾选Mutiple(意为抓取该网页上的多个类似元素集合)。

▼然后选中上图红圈内的select,在网页上选择我们需要抓取的信息区域。

▼如上图,当鼠标放到文章信息上,一整块区域都变黄的时候,我们单击鼠标,即可选中这一整块信息,选中后该区域会变成红色。

▼然后我们用鼠标滚轮向下滚动,选中第二篇文章,此时我们用鼠标滚轮下拉后可以发现整个网页上的类似区域都被自动选中了。此时我们就可以点击Done selecting,完成选择器的设置。

如果类似区域没有自动选中的话,我们就用鼠标滚轮下拉后,挨个选一遍好了。

▼然后点击页面最下方的Save selector,完成设置。

(3)抓取具体的数据

▼点击进入我们刚才建立的“文章信息”选择器,在其中继续创建具体分类数据的选择器。

▼点击Add new selector,我们先创建一个文章标题的选择器,因为只是提取普通文字,此时Type我们设置成Text就好。同时由于一篇文章里只有一个标题,这里我们也不用勾选Multiple了。

▼然后选择Select,我们去页面上选中文章标题对应的一小块区域即可。

▼然后点击Save selector,完成保存。

以此类推,我们接下来分别创建文章作者、发布时间、点赞数、收藏数、评论数的选择器即可。

▼文章作者:

▼发布时间:

▼点赞数:

▼收藏数:

▼评论数:

▼以上选择器全部创建完成后,此时可以看到“文章信息”这个Element下,已经存在了6个二级选择器。

▼可以通过Selector graph看到,我们创建的选择器的拓扑结构是这样的:

这样就完成了选择器的创建,接下来我们开始抓取信息。

4.抓取信息

▼在Sitemap 菜单栏中点击Scrape按钮,即可进入抓取设置页面

▼Request interval是请求间隔的意思,Page load delay是页面加载延迟的意思。这两处默认都是2000毫秒,也就是2秒。为了防止网速不好,网页加载速度慢导致数据抓取不完全,这里我们可以把这两个数值设置大一点,同时页面加载间隔大一些也能减少张大妈服务器的压力。这里我将两个数值都设置为了5000ms,即5s。

▼然后点击Start scraping,chrome浏览器会自动弹出一个没有网址栏的页面,按我们刚才设置的时间自动刷新。此时我们去喝杯茶稍等就好了。

▼信息抓取完成后这个弹出的窗口会自动关闭,此时会出现以下界面:

▼我们单击一下refresh即可看到抓取的结果:

▼然后选择Export data as CSV,可以将生成的CSV格式的表格保存下来。

三、数据处理

用Excel或者WPS打开下载的csv文件,我们就可以对抓取到的数据进行尽情处理了。

1.按单篇文章热度进行排名

(1)首先将点赞、收藏、评论三列数据的单元格格式设置成数值

(2)新建一列,使用求和工具或者求和公式计算点赞+收藏+评论的单篇文章热度

(3)然后根据单篇热度进行排序即可,此为Excel基础操作,在此不赘述了

2.按单人发文总热度进行排名

(1)将文章作者一列复制到单篇热度列后,然后对该列进行“删除重复项”操作。

(2)新建“单人发文总热度”一列,使用sumif公式求和,具体示例如下:

=sumif(D2:D409,J2,I2:I409)

▼然后将该公式向下扩充:

▼复制刚才我们新建的“文章作者”和“单人发文总热度”这两列,以数值性质粘贴到新的工作区里,然后即可根据总热度进行排名

唔……大佬的数据好猛……

3.以单人发文数量排名

(1)选中原始的文章作者列,点开“插入”,点击“数据透视表”

▼然后会出现一个页面,点击“新工作表”,然后点击“确定”

▼在新表中,勾选右侧的字段名称“文章作者”,然后在左侧会有不重复的名称出现

▼将“任职单位”拖拽到“值”框中来计数,来统计每个名称在原表中各自出现了多少次,

▼这时,会发现表格中自动给出了每个名称的出现次数

▼复制这两列到新的工作区,用粘贴数值的方式粘贴

▼接下来即可对发文数量进行排序

总结

以上就是今天为大家介绍的内容了,建议大家偶尔查一下自己的数据排名做到心中有数就好,不要一直抓取,免得浪费张大妈的服务器资源。

最后,号召大家都来多参与张大妈站内的创作活动呀,奖励真的是又多又丰厚~

相关推荐