JAVA自动爬取优快云用户数据并文章点赞

本文介绍了使用JAVA实现批量爬取优快云用户信息以及模拟点赞的过程。首先,通过用户粉丝和关注列表无限循环获取用户名,然后分析点赞API,通过解析文章ID和用户Token来点赞文章。最后,讲解了如何模拟登陆获取Token的关键步骤,并提供了项目源代码链接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

爬取用户

某天,我发现我的文章被某个用户点赞了。欣喜之下,把那边文章重新校核更改一遍,接着进入这个点赞我的用户看看,结果发现他近期的博客是一些爬虫的实战。我想,我那篇文章,应该是他做的一个小程序批量加载用户信息并给文章点赞。我觉得这是一个有点意思的事,于是用java实现csdn批量爬取用户名并点赞。其中批量爬取用户名的思路借鉴这位大神的这篇博文GO+Selenium批量关注优快云 1 (如何获取100万用户名, ES去重)

题外话到此为止,先说说怎么获得csdn的用户名的,他的方法是通过用户的粉丝和关注两个列表,最多可以获得12个用户名,再根据这12个用户名,继续进入每个用户的主页,获得该用户的粉丝和关注列表的用户数据,这样无限循环往复,直到找到很多很多的用户名。

1.通过https://me.youkuaiyun.com/用户名获得粉丝和关注列表。

在这里插入图片描述

2.查看页面源码,用正则匹配

<a class="fans_title" href="https://me.youkuaiyun.com/qq_33981796">qq_33981796</a>

匹配正则

a class="fans_title" href="https://me.youkuaiyun.com/(.+)"

3.获得匹配的用户名,再次进入https://me.youkuaiyun.com/用户名页面,重复1,2的操作

代码

    public Set<String> users = new HashSet<>();
    
    public void get优快云Users(String userName) {
        if (users.size() > 30) {
            return;
        }
        Set<String> userList = parseFans(mePage(userName));
        if (userList != null && userList.size() > 0) {
            synchronized (users) {
                users.addAll(userList);
            }
            userList.stream().forEach(user -> get优快云Users(user, token));
        }
    }
    public String mePage(String username) {
        String follerUrl = "https://me.youkuaiyun.com/" + username;
        try {
            Map<String, String> headers = new HashMap<>();
            headers.put("cook", "UserName=luo4105; UserInfo=de5e709f7cd84e2d87648d45e6288db0; " +
                    "UserToken=de5e709f7cd84e2d87648d45e6288db0;");
            InputStream inputStream = HttpUtil.doGet(follerUrl, headers);
            String response = StreamUtil.inputStreamToString(in
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值