首页 > 其他分享 >Rust抓取抖音app达人数据并分析热度

Rust抓取抖音app达人数据并分析热度

时间:2024-01-02 11:32:17浏览次数:179  
标签:unwrap app get 抖音 let proxy total data Rust

抖音作为最热门的短视频平台之一,人流量很大,而且内容相对丰富。最近有朋友公司想要我采集一些达人数据,厚着脸皮过来求我,我又推脱不掉,索性利用下班时间给他到了个自动爬虫程序,同时也标识一些注意点,让他自己随时修改。

Rust抓取抖音app达人数据并分析热度_json

抖音APP达人数据抓取是一个复杂的过程,涉及到网络爬虫、数据解析、代理IP等多个技术领域。不过,我可以帮你提供一个通用的代理IP爬虫程序模板,你可以根据实际情况进行修改和调整。以下是用Rust语言编写的爬虫程序代码,并用中文详细解释每行代码和步骤。

extern crate reqwest;
extern crate serde;
extern crate serde_json;

use reqwest::Client;
use serde::{Deserialize, Serialize};
use serde_json::{json, Value};

#[derive(Debug, Deserialize, Serialize)]
struct Data {
    username: String,
    total_fans: i32,
    total_videos: i32,
    ...
}

fn main() {
    let 提取免费ip:new (jshk.com.cn/mb/reg.asp?kefu=xjy&51cto)
    let client = Client::new();
    let proxy_host = "duoip";
    let proxy_port = 8000;

    let proxy = format!("http://{proxy_host}:{proxy_port}/", proxy_host, proxy_port);
    client.set_proxy(proxy.as_str());

    let data = get_data_from_douyin(client);

    println!("{:?}", data);
}

fn get_data_from_douyin(client: Client) -> Data {
    let url = "http://www.douyin.com/api/v2/user/get_info?access_token=your_access_token";
    let response = client.get(url).send().unwrap();
    let json = response.json().unwrap();
    let data = json.as_value().unwrap().as_dict().unwrap().get("data").unwrap().as_dict().unwrap();
    Data {
        username: data.get("username").unwrap().as_str(),
        total_fans: data.get("total_fans").unwrap().as_i32(),
        total_videos: data.get("total_videos").unwrap().as_i32(),
        ...
    }
}

1、首先,我们需要导入必要的库。reqwest用来发送HTTP请求,serde用来处理JSON数据,serde_json用来将JSON数据转换为Rust类型。

2、use关键字用来导入我们刚刚导入的库。

3、data是一个结构体,用于存储我们从抖音APP获取的数据。它有四个字段:username(用户名)、total_fans(总粉丝数)、total_videos(总视频数)和一些其他字段。

4、main函数是程序的入口,我们在这里创建一个Client对象,设置代理服务器,然后调用get_data_from_douyin函数获取数据并打印。

5、get_data_from_douyin函数用于从抖音APP获取数据。我们首先定义一个URL,然后使用Client对象发送GET请求并获取响应。然后,我们将响应转换为JSON格式,然后将JSON数据转换为Data类型。

6、let data = json.as_value().unwrap().as_dict().unwrap().get("data").unwrap().as_dict().unwrap();这行代码用于解析JSON数据。我们首先将JSON数据转换为Value类型,然后将其转换为字典类型,然后获取字典中的"data"字段,并将其转换为字典类型。最后,我们将这个字典转换为Data类型。

7、请注意,你需要替换URL中的your_access_token为你自己的抖音APP访问令牌。你可以从抖音APP的开发者平台获取。

其实想要做好爬虫很简单,大多数可以套用模版,上面就是我写的一段代码程序,如果需要的小伙伴可以拿过去借鉴一下。

标签:unwrap,app,get,抖音,let,proxy,total,data,Rust
From: https://blog.51cto.com/u_13488918/9065969

相关文章

  • Hessian Matrix Approximations: A Comparative Study in the Context of Machine Lea
    1.背景介绍在机器学习领域,优化算法是非常重要的。在训练模型时,我们需要最小化损失函数,以实现模型的参数估计。这里的损失函数通常是一个非线性函数,因此我们需要使用一种迭代的方法来找到最小值。这里的优化算法就发挥了作用。Hessian矩阵是二阶导数的矩阵,它可以用来衡量损失函数在......
  • Apple Safari 16.5 发布- macOS 专属浏览器 (独立安装包下载)
    AppleSafari16.5-macOS专属浏览器(独立安装包下载)Safari浏览器16formacOSMontery,BigSur作者主页:sysin.org之前Safari浏览器伴随macOS更新一起发布,需要系统更新才能体验到新版,现在库克终于带来了独立安装包,无需更新系统也可感受最新的卓越Web体验。当今世界是......
  • 如何禁用 iPhone、iPad 和 Apple Watch 软件自动更新,去除软件更新标记(数字1角标)
    如何屏蔽iOS软件自动更新,去除更新通知和标记适用于iOS、iPadOS和watchOS,即iPhone、iPad和AppleWatch通用。作者主页:sysin.org配置描述文件可适用于iOS12、13、14、15、16、17及其对应的iPadOS12、13、14、15、16、17和watchOS5、6、7、8、9、10。2023.09.19,iOS......
  • Apple Final Cut Pro X 10.5 视频编辑软件 下载 百度网盘
    后期制作,上演华丽一幕。剪辑、音轨、图形特效、整片输出,一气呵成。先进的调色功能、HDR视频支持,以及ProResRAW。全新Metal引擎360°全景剪辑,用头戴式VR装置来回放。更新说明提高了在搭载Apple芯片的Mac电脑上的性能和效率在搭载Apple芯片的Mac电脑上,“智能符合”......
  • 《安卓期末大作业(AndroidStudio开发),垃圾分类app,代码有注释,能正常运行》
    1 项目基本信息1.1 项目名称垃圾分类助手APP的设计与实现1.2开发运行环境开发语言:Java开发工具:AndroidStudio模拟器:雷电模拟器9数据库:SQLite  1.3使用的核心类及组件Activity:作为实现界面的窗体类BaseAdapter:适配器类SqliteOpenHelper:数据库类Intent:页面跳转传值Fragmen......
  • 安卓期末大作业(AndroidStudio开发),日记本app,代码注释详细,能正常运行
    安卓期末大作业-日记本app(附下载链接)压缩包内包含源代码,运行各个界面截图,一条日记可以记录2000字符以下的文本、最多8张配图和最多8个视频。每条日记都可以以评论的形式或转发引用的形式追更,评论的最大长度也是2000字符。日记还可以同时记录所处位置和当时的天气情况(当然,现在并......
  • 安卓期末大作业Android studio-记单词app(资源链接在文末,含注册登录,含设计报告,含导出ap
    安卓期末大作业Androidstudio-记单词app(注册登录、增删改查)1、注册登录界面2.用户点击加号按钮输入单词,键盘会自动弹出并焦点在输入框,用户输入英文和中文释义,单词本上将在最上面显示这个单词,并会有下拉动画。用户可以通过上方放回箭头取消输入。2.用户可以通过单词盘边的按钮来关......
  • 安卓期末大作业-调色App(源码+导出apk+运行截图)
    安卓期末大作业-调色App(源码+导出apk+运行截图)开发软件:AndroidStudio开发语言:Java2023年上半年移动开发期末大作业,比较简单的一个安卓项目,导入即可使用,适合初学者学习使用app进入界面:调色卡app主界面:可以复制颜色代码App主要代码展示:publicclassColorDetailextendsAppCompatAc......
  • 《2023安卓期末大作业-记事本app(可以登录,含完整源码+程序设计报告+运行视频+apk导出文
    2023安卓期末大作业-记事本app(可以登录,含完整源码+程序设计报告+运行视频+apk导出文件)打包文件如下图所示:基于Android系统的简单记事本,它能够便携记录生活和工作的诸多事情,从而帮助人们有条理的进行时间管理。一个记事本,能够输入标题和内容,创建日期、最新修改日期等信息。如果没......
  • 《Android期末大作业:使用AndroidStudio开发图书管理系统APP(使用sqlite数据库)》
    AndroidStudio开发项目图书管理系统项目视频展示:引言现在是一个信息高度发达的时代,伴随着科技的进步,文化的汲取,人们对于图书信息的了解与掌握也达到了一定的高度。尤其是学生对于知识的渴求更是与日俱增。图书馆作为学生学习知识的重要场所,作为信息资源的集散地,图书和用户借阅资......