也就是文章作者管理
客户端提供文章作者首页地址, 通过如下方式可以获取到作者信息:
输出如下
抓取选择作者的文章列表,在这里需要使用到上面拼接的url, 这个url返回json,通过我们的json请求方式即可。
介绍一下url请求的参数:
page_type 0表示视频,1表示文章
user_id 表示作者id
max_behot_time 这个字段是用来翻页使用的,默认数据是0,其实值就是时间戳/1000
count 每页显示记录数
as 这个具体不太清楚
cp 这个具体不太清楚
响应数据详解
这里建议使用爬取的当前的时间戳作为 字段的参数,为什么要这样,因为如果使用默认的值,则是按照阅读数排序的,当重复爬取的时候不容易判断重复。下面的数据是通过获取的
主要字段介绍:
max_behot_time 下一页开始的值
image_url 文章列表展示图片的url
title 文章的标题
source 来源,作者名称
go_detail_count 阅读量
source_url 详情url
item_id 文章id
behot_time 文章发表时间
重复抓取
考虑到文章将是大量的数据,而且结合前面通过时间戳进行查询可以。我们可以通过制定规则,避免爬取时都将文章挨个比较。实现方式如下
我们制定的规则是每天爬取一次相关作者的文章
如果是第一次爬取该作者的文章,则请求列表的url的参数max_behot_time为当前时间戳/1000,自定义设定 count 字段,建议不能超过50条。按照上面介绍的翻页方式依次爬取。
如果爬取的作者已经爬取过文章,则请求列表的url的参数 max_behot_time 为当前时间戳/1000,自定义设定 count 字段,建议不超过10条。将爬取处理的第一条(表示是最新的)数据的behot_time 字段转换成日期格式,转换的时候需要*1000,如果第一条的发布时间都不在今天的话,就无须在往后爬取了。
抓取文章的详情,通过url 这个url就是通过 http://www.toutiao.com和列表响应的source_url 拼接而成。获取方式如下:
这里是有了 这个工具包还有解析json的工具包,记得引入maven坐标: