网站调用新浪微博内容(3.修改参数拼接请求链接——解析网页数据解析)

优采云 发布时间: 2022-04-12 14:34

  网站调用新浪微博内容(3.修改参数拼接请求链接——解析网页数据解析)

  使用java自动爬取新浪微博历史列表——免登录目录准备工作原理

  找到微博内容页面的请求链接-》修改参数拼接请求链接-》解析网页数据-》存入数据库

  工作流程1.找出微博内容页面请求链接

  网页端微博在加载内容页面时,会请求如下箭头所示的链接。点击后可以发现整个网页的数据都在框内,也就是说我们只需要拿到这个链接就可以解析网页数据了。

  

  2.修改参数拼出请求链接

  接下来,我们需要拼出这个链接。需要更改的参数有domain、domain_op、pre_page和_rnd。

  

  图中我们可以发现id是由domain和一个10位数字拼接而成,domain和domain_op是一样的,pre_page指的是当前内容页数,_rnd是时间戳,我们需要用到的cookie运行程序时。接下来我们谈谈如何获取它们:

  ID:

  ,

  其中,2399108715为普通用户id;

  其中,1191044977是大V的id;

  领域:

  下图中的红框就是我们需要的域。可以直接在用户微博首页右键查看源码查看:

  

  域操作:

  同一个域;

  前页:

  我们可以直接在代码中循环累加pre_page,但是我们需要知道用户发送的微博页面总数,才能终止循环:

  

  如上图,仍然可以在用户首页的源码中获取countPage

  _rnd:

  一个时间戳,可以在程序中设置为系统的当前时间,以保证能抓取到最新的微博。

  3.解析网页数据

  解析网页数据使用jsoup和正则表达式。如何使用可以下载文末代码查看。

  4.存入数据库

  在程序中实现,使用mysql。

  程序部分 程序结构

  

  service层:

build:构建链接

content:解析网页内容

dao层:

common:持久化数据,存入数据库

model层:

SinaModel:实体类

process:

Main:程序组装

  运行程序部分

  修改进程目录下Main方法中的参数。上面已经获取了id和cookie,可以免费获取高密代理的ip和端口。

  然后运行 ​​MainTest 程序

  ./test

./java

./com

./yk

./weibo

./process

MainTest

  数据库字段解释

  sina.sql:

id-表id

userId-用户Id

content-微博正文

contentlink-微博正文中的链接

imglink-微博中的图片链接

transmitnum-转发数

commentnum-评论数

likenum-喜欢数

username-用户名

pulishTime-发布时间

equipment-设备

updateTime-数据存入时间

  最后一个想法

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线