网易新闻app自媒体号信息爬取

本文介绍了如何使用fiddler4和IDEA对网易新闻app的自媒体号进行数据爬取,包括抓包分析、生产者消费者模型的Java实现、解决汉字base64编码问题及线程安全的set去重策略。文章详细讲解了爬取流程和可能遇到的难点。
摘要由CSDN通过智能技术生成

##目的:对网易新闻app进行自媒体号进行数据采集


工具: fiddler4,IDEA


前置技能点:

  1. Java基础,基本语法,文件操作,Date类应用,maven的配置等
  2. fiddler抓包
  3. 生产者 消费者模型的Java实现
  4. Java httpclient包的基本运用
  5. JSONObject类的运用

##流程:
###1. 用fiddler对网易新闻app进行抓包研究(此处最为复杂,又难以归纳出通用的法则)
下面给出几个关键的url

简介获取网址: http://c.m.163.com/nc/subscribe/abstract/自媒体id.html
以T1436178714849这个自媒体id为例
以get方式对该url进行请求,获取到下列返回数据,经过观察,我们可以发现该串json数据中的desc键描述了该自媒体的简介信息

{
    "abstractList": [
        {
            "topicid": "051187K4",
            "ename": "T1437980175117",
            "img": "http://dingyue.nosdn.127.net/CPyl06T14=6lx2V=Gy8BzwbDVnng40gvC2mkcTZmgYTvn1488900231940.jpg",
            "hasIcon": true,
            "tname": "智观察",
            "subnum": "9164",
            "topic_icons": "http://dingyue.nosdn.127.net/CPyl06T14=6lx2V=Gy8BzwbDVnng40gvC2mkcTZmgYTvn1488900231940.jpg",
            "tid": "T1437980175117"
        },
        {
            "topicid": "0511838M",
            "ename": "T1426650607511",
            "img": "http://img1.ph.126.net/0JLWi3-AFGkp_IJ39FzhTQ==/6619378857584634163.jpg",
            "hasIcon": true,
            "tname": "芯智讯",
            "subnum": "1万",
            "topic_icons": "http://img1.ph.126.net/0JLWi3-AFGkp_IJ39FzhTQ==/6619378857584634163.jpg",
            "tid": "T1426650607511"
        },
        {
            "topicid": "0511831Q",
            "ename": "T1425885645380",
            "img": "http://img2.ph.126.net/NiwTiVUjwMyfEbGGNuiAyA==/6630195852978107453.jpg",
            "hasIcon": true,
            "tname": "华强北在线",
            "subnum": "1.5万",
            "topic_icons": "http://img2.ph.126.net/NiwTiVUjwMyfEbGGNuiAyA==/6630195852978107453.jpg",
            "tid": "T1425885645380"
        }
    ],
    "abstractType": "similar",
    "desc": "3D打印在线(www.3d2013.com)是由世界3D打印技术产业联盟与中国3D打印技术产业联盟联袂主办的3D打印行业首家在线交易平台,是3D打印行业权威的信息资讯门户。"
}

同理对名称,别名等信息获取网址: http://c.m.163.com/nc/subscribe/v2/topic/自媒体id.html
利用get方式进行请求,获取下列json数据,可以通过该数据获取到自媒体的名称(tname),粉丝数(subnum),别名(alias)等信息

{
    "tab_list": [
        {
            "tab_type": "all",
            "tab_name": "文章"
        },
   
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值