修改参数拼接请求链接—解析网页数据——存入数据库

优采云 发布时间: 2021-06-11 18:51

  修改参数拼接请求链接—解析网页数据——存入数据库

  使用java自动爬取新浪微博历史列表-免登录目录编制原理

  找到微博内容页的请求链接——》修改参数拼接请求链接——》分析网页数据——》保存到数据库中

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

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

  

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

  接下来我们需要拼出这个链接。需要修改的参数是domain、domain_op、pre_page、_rnd。

  

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

  标识:

  ,

  其中2399108715为普通用户id;

  其中,1191044977为大V的id;

  域:

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

  

  域操作:

  同域;

  pre_page:

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

  

  如上图,countPage还是可以从用户首页的源码中获取

  _rnd:

  可以在程序中设置时间戳作为系统的当前时间,以保证最新的微博可以被抓取出来。

  3.分析网页数据

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

  4.store 在数据库中

  在程序中实现,使用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人工客服


线