1. 前提:

爬取原因是RSSHub有一个订阅微信公众号的第三方源是二十次幂,但是这个网站需要开通VIP才可以搜索公众号。
31r8SJ
接着就有想爬下数据然后订阅自己想要的公众号。

2. 准备工作

f0mZmb
首先,看见了有大概500页的数据,接着我们F12看看NetWork栏目中的数据。
KmTNqQ
或者直接勾选XHR就可以发现这个是一个Ajax请求
zEY6cT
接口返回了已经整理好的数据,所以我们不需要二次整理。
直接编写代码(Java)

3. 编写代码

import cn.hutool.http.HttpRequest;
import cn.hutool.http.HttpResponse;
import cn.hutool.json.JSONArray;
import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
import org.junit.Test;
public class test {
    @Test
    public void asd() throws InterruptedException {
        StringBuilder result = new StringBuilder();
        for (int i = 1; i <= 500; i++) {
            HttpRequest request = new HttpRequest("https://www.ershicimi.com/api/search/ad?page=" + i + "&limit=20");
            HttpResponse response = request.execute();
            JSONObject parse = JSONUtil.parseObj(response.body());
            JSONArray data = parse.getJSONArray("data");
            for (int i1 = 0; i1 < data.size(); i1++) {
                JSONObject object = data.getJSONObject(i1).getJSONObject("account");
                result.append(object.get("nickname")+"----"+object.get("bid")+"\n");
            }
            Thread.sleep(1000);
        }
        System.out.println(result.toString());
    }
}

这里引入了Hutool这个工具包,大家需要自行搜索Maven引入

4.效果

gRupKD
等待执行完成之后,查看效果。成功获取数据

注意事项:

接口会限制请求频率,所以我设置了1秒请求一次。这样子不会请求频繁

结尾

仅供学习参考,不可非法