前言
对于近日头条网站的研究,最近几日一直在不停的分享中,先后分享了(HttpClient技术)(今日头条系列)HttpClient模拟今日头条登录, (HttpClient技术)(今日头条系列)HttpClient发布文章-纯文字类型文章等几篇文章,既然可以登录,发布文章,那么对文章的管理也很重要,如何使用HttpClient模拟获取文章的列表呢?这就是我这次要分享的内容。
步骤
登录成功后,是可以看到自己发布的文章的列表的,在这里抓包,就能看到,文章的列表,其实是调用了一个接口来获取的,而且返回的是一个JSON格式,那么就好办了。对返回的JSON,就可以使用fastjson对其进行格式化,得到需要的内容,只需要模拟请求列表接口,得到数据,就能完成文章的显示了。
使用语言:Java
使用Jar包: Java HttpClient 4.x核心Jar包
开发工具:MyEclipse 8
步骤如下:
1 模拟请求文章列表的接口,并得到返回数据
2 对返回的结果,进行JSON格式化,并且显示
核心代码如下:
g1 = new HttpGet("https://mp.toutiao.com/core/article/media_article_list/?count=20&source_type=0&status=all&from_time=0&item_id="+item_id) ; g1.setHeader("Accept", "text/html, application/xhtml+xml, */*") ; g1.setHeader("Accept-Language", "zh-CN") ; g1.setHeader("Proxy-Connection", "Keep-Alive") ; g1.setHeader("Referer", "https://mp.toutiao.com/profile_v2/articles/own") ; g1.setHeader("X-Requested-With", "XMLHttpRequest") ; g1.setHeader("User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko") ; HttpResponse response2 = httpClient.execute(g1); sg1 = EntityUtils.toString(response2.getEntity(),"utf-8") ; sg1 = StringRandomUtils.unicodeToString(sg1) ; System.out.println(sg1); com.alibaba.fastjson.JSONObject newObj = com.alibaba.fastjson.JSONObject.parseObject(sg1) ;
总结
获取发布文章的列表,并且对列表进行管理,查看发布时间,标题,索引,关键字等内容,可以根据需要检索需要的内容。模拟获取发布文章的列表关键点不多,是比较好掌握的,明天我会分享如何发布带图片的文章,图集和视频等文章,敬请期待,谢谢大家的关注。