当前位置: 首页 > news >正文

基于Java爬取微博数据(三) 微博主页用户数据

基于Java爬取微博数据三 微博主页用户数据

  • 数据分析
  • 爬取数据
  • 注意点

上一篇文章简单讲述了基于Java爬取微博数据(二),那么这篇将讲述如何基于 Java 爬取微博主页用户数据,下面开始具体的操作。

数据分析

在开始爬取微博主页用户数据之前,我们先对之前基于Java爬取微博数据(一)中的微博主页正文列表数据进行分析,看是否可以从中获取到微博主页用户数据。
首先还是按照基于Java爬取微博数据(一)中的方式获取微博主页正文列表数据内容
在这里插入图片描述
将获取到的数据取出一个微博内容的完整的 Json 对象,保存为 .json 文件
在这里插入图片描述
打开该微博正文内容,可以看到如下微博主页用户数据内容
在这里插入图片描述
但是这里看到,在实际的微博用户主页是还有用户的 粉丝数、关注数、主页描述、全部微博数等内容
在这里插入图片描述
一部分内容是无法从微博正文列表数据内容的 user 属性中获取,但是页面上可以展示,那么猜测这里应该是跳转到微博用户主页之后通过 ajax 异步加载了微博用户相关信息,那么继续查看 【网络】中相关请求,发现了一个获取 微博用户信息的 ajax 请求 /ajax/profile/info?uid=1686546714
在这里插入图片描述
取出请求 /ajax/profile/info?uid=1686546714 浏览器请求中的 响应 内容,可以看到我们需要的微博主页用户信息都有的
在这里插入图片描述
到这里,关于如何获取微博主页用户数据的数据分析就结束了,那么下面我们开始来写代码实现获取对应的微博主页用户数据。

爬取数据

这里我们重新创建一个 main 函数来单独的获取微博主页用户数据, DemoWeiBoInfo.java,整个类的代码比较简单,直接可以获取微博主页用户数据内容,最终执行的结果如图
在这里插入图片描述
DemoWeiBoInfo.java 的源码如下

package com.ruoyi.web.controller.demo.controller;import cn.hutool.http.HttpResponse;
import cn.hutool.http.HttpUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.ruoyi.common.utils.StringUtils;import java.text.ParseException;public class DemoWeiBoInfo
{/*** 获取微博主页账号信息* @param args* @throws ParseException*/public static void main(String[] args) throws ParseException {// 获取微博账号主页信息String url = "https://weibo.com/ajax/profile/info?uid=1686546714";String cookie = "你的 Cookie";System.out.println("微博账号信息查询开始");HttpResponse response = HttpUtil.createGet(url).header("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36").header("Cookie",cookie).execute();String body = response.body();//System.out.println(body);if (StringUtils.isNotEmpty(body)) {JSONObject jsonObject = JSON.parseObject(body);//获取数据 dataJSONObject data = jsonObject.getJSONObject("data");// 获取 User 信息JSONObject user = data.getJSONObject("user");String id = user.getString("id");//用户idString idstr = user.getString("idstr");System.out.println("idstr:" + idstr);//用户名String screen_name = user.getString("screen_name");System.out.println("screen_name:" + screen_name);JSONObject status_total_counter = user.getJSONObject("status_total_counter");// 转、评、赞 数量String total_cnt_format = status_total_counter.getString("total_cnt_format");System.out.println("total_cnt_format:" + total_cnt_format);String total_cnt = status_total_counter.getString("total_cnt");System.out.println("total_cnt:" + total_cnt);//评论数量String comment_cnt = status_total_counter.getString("comment_cnt");System.out.println("comment_cnt:" + comment_cnt);// 转发数量String repost_cnt = status_total_counter.getString("repost_cnt");System.out.println("repost_cnt:" + repost_cnt);// 获赞数量String like_cnt = status_total_counter.getString("like_cnt");System.out.println("like_cnt:" + like_cnt);//用户头像String avatar_large = user.getString("avatar_large");System.out.println("avatar_large:" + avatar_large);//描述String description = user.getString("description");System.out.println("description:" + description);// 粉丝数量String followers_count = user.getString("followers_count");System.out.println("followers_count:" + followers_count);String followers_count_str = user.getString("followers_count_str");System.out.println("followers_count_str:" + followers_count_str);// 关注数量String friends_count = user.getString("friends_count");System.out.println("friends_count:" + friends_count);//微博数量String statuses_count = user.getString("statuses_count");System.out.println("statuses_count:" + statuses_count);}System.out.println("微博账号信息查询结束");}
}

那么到这里,基于Java 爬取微博用户主页数据的任务就实现了,后续还会继续讲解获取微博正文内容图片、视频等相关内容,敬请关注。

注意点

这里需要说明的是,本文主要是探索基于 Java 爬取微博用户主页数据相关内容实现,大家有需要的可以相互学习一下。但是注意不可用于非法用途,远离“破坏计算机信息系统罪”,慎重!慎重!慎重!

相关文章:

基于Java爬取微博数据(三) 微博主页用户数据

基于Java爬取微博数据三 微博主页用户数据 数据分析爬取数据注意点 上一篇文章简单讲述了基于Java爬取微博数据(二),那么这篇将讲述如何基于 Java 爬取微博主页用户数据,下面开始具体的操作。 数据分析 在开始爬取微博主页用户数据之前,我们…...

Openstack 与 Ceph集群搭建(中): Ceph部署

文章目录 一、部署前说明1. ceph 版本选择依据2. ceph网络要求3. 硬件要求 二、部署架构三、部署过程1. 通用步骤2. 部署管理节点创建账号安装Cephadm运行bootstrap 3. 登录Ceph web4. 将其他节点加入集群同步ceph key安装ceph CLI命令行添加主机节点到集群添加OSD节点将监控节…...

上市公司上下游、客户数据匹配数据集(2001-2023年)

参考《中国工业经济》中陶锋(2023)的做法,对上市公司的上下游供应商和客户数据进行匹配。形成“上游供应商—目标企业—下游客户一年度数据集” 一、数据介绍 数据名称:上市公司-上下游和客户数据匹配 数据范围:上市…...

Promise 对象

Promise 对象是 JavaScript 中用于处理异步操作的一种机制。它代表了一个最终可能完成(fulfilled)或失败(rejected)的异步操作及其结果值。Promise 对象使得异步代码更加容易编写、理解和维护,因为它提供了一种链式调用…...

扫码头测试检测适配步骤

需求分析:适配扫码头看是否能正常工作即适配其能否调用相应的节点其能点亮扫码头并进一步获取其扫码的值。 1.首先先检验其串口是否正常通讯。 2.检验扫码头是否正常工作。 3.上电后拉高是否正常操作触发脚拉高其扫码头有无正常点亮。 4.按侧边键是否正常点亮扫…...

解决k8s分布式集群,子节点加入到主节点失败的问题

1.问题情况 Master主节点在 使用 kubeadm init 成功进行初始化后,如下所示 Your Kubernetes control-plane has initialized successfully!To start using your cluster, you need to run the following as a regular user:mkdir -p $HOME/.kubesudo cp -i /etc/k…...

什么是XSS跨站攻击?如何防护?

什么是XSS跨站攻击?如何防护? 什么是XSS攻击 XSS攻击,即跨站脚本攻击(Cross-Site Scripting),是一种常见的网络安全威胁。其本质是通过在网页中注入恶意的脚本代码,当其他用户浏览这些网页时&…...

谷粒商城实战笔记-问题记录-首页没有显示用户名-跨域session问题

文章目录 一,首页无用户信息二,定位三,两个问题1,跨域名session共享 一,首页无用户信息 谷粒商城首页,点击超链接您好,请登录,正常情况下应该跳转到Auth模块的login页面,…...

【面试宝典】redis常见面试题总结(上)

一、为什么使用 redis? 使用缓存的目的就是提升读写性能。为了提高读写性能,带来更高的并发量。减少对 MySQL 的请求量。 二、redis 有哪些好处? 读写速度快,因为数据存储在内存中,所以数据获取快。支持多种数据结构…...

数据仓库: 3- ETL过程

目录 3- ETL过程3.1 数据抽取(Extract)3.1.1 数据抽取的挑战3.1.2 数据抽取的方式3.1.2.1 全量抽取3.1.2.2 增量抽取3.1.2.3 实时抽取 3.1.3 数据抽取的技术3.1.4 数据抽取工具3.1.5 总结 3.2 数据转换(Transform)3.2.1 定义3.2.2…...

js数组变字符串

let array [1,2,3]; let string array.join(,); // 使用空格作为分隔符 console.log(string); // 输出: "1,2,3"...

日常问题笔记1

th:insert&#xff1a;将被引用的模板片段插⼊到自己的标签体中 th:replace&#xff1a;将被引用的模板片段替换掉自己 th:include&#xff1a;类似于 th:insert&#xff0c;⽽不是插⼊⽚段&#xff0c;它只插⼊此⽚段的内容 <!--1、比如抽取的公用代码片段如下--> <…...

位图与布隆过滤器 —— 海量数据处理

&#x1f308; 个人主页&#xff1a;Zfox_ &#x1f525; 系列专栏&#xff1a;C从入门到精通 目录 &#x1f680; 位图 一&#xff1a; &#x1f525; 位图概念 二&#xff1a; &#x1f525; 位图的实现思路及代码实现三&#xff1a; &#x1f525; 位图的应用四&#xff1a;…...

二:《Python基础语法汇总》— 条件判断与循环结构

一&#xff1a;条件判断 1.程序执行的三大流程&#xff1a; ​ 顺序流程&#xff1a;无缩进代码&#xff0c;从上往下依次执行 ​ 分支流程&#xff1a;选择性执行某块代码&#xff0c;或跳过某行代码去执行&#xff0c;与缩进&#xff08;TAB&#xff09;有关 ​ 循环流程&…...

【威锋网-注册安全分析报告-无验证方式导致安全隐患】

前言 由于网站注册入口容易被黑客攻击&#xff0c;存在如下安全问题&#xff1a; 1. 暴力破解密码&#xff0c;造成用户信息泄露 2. 短信盗刷的安全问题&#xff0c;影响业务及导致用户投诉 3. 带来经济损失&#xff0c;尤其是后付费客户&#xff0c;风险巨大&#xff0c;造…...

01_React简介、基础入门

React 简介、基础入门 一、React 简介1、是什么&#xff1f;2、谁开发的&#xff1f;3、为什么要学&#xff1f;4、React 的特点5、学习 React 之前你要掌握的 Javascript 基础知识 二、React 入门1、相关 js 库2、Hello React 入门小例子---React16.8.0 版本3、为什么不用 js …...

【Java 内存区域】

Java内存区域 JDK1.7 VS JDK1.8堆 (Heap)方法区 (Method Area)String 常量池 (String Pool)运行时常量池 (Runtime Constant Pool)虚拟机栈 (JVM Stack)局部变量表操作数栈动态链接方法返回信息 本地方法栈 (Native Method Stack)程序计数器 (Program Counter Register)元空间 …...

你是如何克服编程学习中的挫折感的?

一&#xff1a;学习之路 在编程学习的过程中&#xff0c;挫折和挑战是不可避免的。面对这些困难&#xff0c;我个人的一些经验和方法如下&#xff0c;或许能为你提供一些启示&#xff1a; 1. 学会分解问题 当遇到复杂的算法或者Bug时&#xff0c;我会将问题分解成更小的部分。…...

【AI应用实战】灵办AI插件集成详细指南

一、写在前面 随着AI技术的日新月异&#xff0c;大型模型应用如雨后春笋般涌现&#xff0c;从ChatGPT到文心一言&#xff0c;再到讯飞星火&#xff0c;无一不彰显着智能科技的无限潜力。而在这股浪潮中&#xff0c;我们欣喜地发现&#xff0c;一些创新的浏览器插件正悄然兴起&a…...

MySQL数据库连接超时问题排查报告

1、问题描述 边端设备访问云端过程中有概率出现MySQL数据库连接超时报错&#xff0c;具体报错代码如下&#xff1a; [2024-08-13 13:47:44,036] ERROR in app: Exception on /est-tasks/start [POST] Traceback (most recent call last): File "/usr/local/lib/python3.1…...

Pexpect异常处理完全手册:EOF、TIMEOUT等错误的解决之道

Pexpect异常处理完全手册&#xff1a;EOF、TIMEOUT等错误的解决之道 【免费下载链接】pexpect A Python module for controlling interactive programs in a pseudo-terminal 项目地址: https://gitcode.com/gh_mirrors/pe/pexpect Pexpect是一个功能强大的Python模块&a…...

Windows沙盒体验:OpenClaw镜像+千问3.5-27B快速验证自动化

Windows沙盒体验&#xff1a;OpenClaw镜像千问3.5-27B快速验证自动化 1. 为什么选择沙盒环境验证OpenClaw 作为一个长期在本地折腾AI工具的开发者&#xff0c;我最近遇到了一个典型困境&#xff1a;想测试OpenClaw的自动化能力&#xff0c;但又担心给主力机安装各种依赖会污染…...

低成本个人知识库:OpenClaw+Qwen3-32B构建自动化归档系统

低成本个人知识库&#xff1a;OpenClawQwen3-32B构建自动化归档系统 1. 为什么需要个人知识库自动化 作为一个长期与技术文档打交道的开发者&#xff0c;我发现自己陷入了一个怪圈&#xff1a;每天收集大量有价值的网页、论文和代码片段&#xff0c;但它们最终都散落在浏览器…...

别再手动算不确定度了!用C++代码一键搞定科大奥锐虚拟仿真实验(附完整代码)

用C解放物理实验&#xff1a;不确定度计算的自动化实践 物理实验报告中最令人头疼的部分莫过于那些繁琐的不确定度计算。每次测量完数据&#xff0c;面对满纸的数字和公式&#xff0c;总有一种被数学淹没的窒息感。记得上学期做"长度与固体密度测量"实验时&#xff0…...

Windows Defender一键移除工具:终极完整指南,三步彻底关闭系统安全防护

Windows Defender一键移除工具&#xff1a;终极完整指南&#xff0c;三步彻底关闭系统安全防护 【免费下载链接】windows-defender-remover A tool which is uses to remove Windows Defender in Windows 8.x, Windows 10 (every version) and Windows 11. 项目地址: https:/…...

macOS下OpenClaw排错大全:Qwen3.5-9B接口连接问题解决

macOS下OpenClaw排错大全&#xff1a;Qwen3.5-9B接口连接问题解决 1. 问题背景与排查思路 上周我在macOS上部署OpenClaw时&#xff0c;遇到了Qwen3.5-9B接口连接失败的问题。作为一个长期依赖本地AI助手的开发者&#xff0c;这类问题直接影响我的自动化工作流。经过三天断断续…...

OpenClaw与企业微信/飞书/钉钉深度集成方案

第1章 引言 1.1 OpenClaw简介与定位 OpenClaw是一个现代化的AI Agent运行框架,专为构建企业级智能助手和应用而设计。它采用模块化架构,通过统一的Gateway接口支持多种通信渠道的接入,让AI能力能够无缝融入企业现有的协作生态中。 OpenClaw的核心特性包括: 多渠道统一接…...

Nextion Library技术解析:嵌入式HMI轻量通信框架

1. Nextion Library 深度技术解析&#xff1a;面向嵌入式工程师的轻量级HMI通信框架 1.1 库定位与工程价值 Nextion Library 是一个专为 Nextion 系列智能串口屏设计的轻量级 C 库&#xff0c;核心目标是 在资源受限的 MCU 平台上&#xff08;如 Arduino Uno、STM32F0/F1、ES…...

C语言断言函数:原理、应用与最佳实践

1. C语言断言函数的基础概念断言&#xff08;assert&#xff09;是C语言中一个非常实用的调试工具&#xff0c;它本质上是一个宏而非函数。断言的核心思想是对程序中的假设条件进行检查&#xff0c;当条件不满足时立即终止程序运行并输出错误信息。在标准C库中&#xff0c;断言…...

中航迈特光束整形金属3D打印技术取得重要进展,多种材料已成功验证

中航迈特在金属3D打印装备研发方面持续发力&#xff0c;尤其是光束整形技术近期取得重要进展。在本届TCT亚洲展&#xff0c;它推出的MT280搭载了无级点环光斑能量智调系统&#xff0c;是光束整形金属3D打印当前较新的看点。据3D打印技术参考了解&#xff0c;无级点环光斑能量智…...