qbzjs / douyin-reptiles-2

douyin-reptiles(抖音爬虫),简单易用,可用于爬取用户点赞视频,视频详情等抖音API,生成ttwid、X-Bbous,全部可纯Java或Python代码实现

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

douyin-reptiles

⭐欢迎star,您的支持是我更新的动力!

  • douyin.md 思路和参考
  • user.txt 包含多个公开喜欢的sec_user_id,可用于测试
  • X-Bogus 用于Python签名,包含思路文档
  • 生成的X-Bogus和ttwid可适用于字节跳动应用的接口
  • 三种选择方式:Java、Python、Python+Java,均可在API接口下完成
  • 已通过千次代理转发并发测试,基本上无失效请求
  • 若有疑问,请在issue上留言

启动类

server.py Application.class

步骤一

cd ./X-Bogus
pip install flask
pip install PyExecJS
python3 server.py

访问测试 127.0.0.1:8787

获取X-Bogus POST
/X-Bogus

步骤二

启动SpringBoot 127.0.0.1:8088

两个服务都要启动缺一不可

如需纯Java实现(参考feat分支)

加上以下依赖,可使用hutool工具执行x-bogus的js脚本

        <dependency>
            <groupId>org.graalvm.sdk</groupId>
            <artifactId>graal-sdk</artifactId>
            <version>21.1.0</version>
        </dependency>
        <dependency>
            <groupId>org.graalvm.js</groupId>
            <artifactId>js</artifactId>
            <version>21.1.0</version>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.graalvm.js</groupId>
            <artifactId>js-scriptengine</artifactId>
            <version>21.1.0</version>
        </dependency>
    public String getXbogus(String url, String userAgent) {
        String xbogus = null;
        xbogus = (String) ScriptUtil.invoke(ResourceUtil.readStr("js/X-Bogus.js",Charset.defaultCharset()),"sign", url, userAgent);
        if (StrUtil.isEmpty(xbogus)){
            return StrUtil.EMPTY;
        }
        return xbogus;
    }

已实现接口

获取用户喜欢列表 GET
/reptiles/getUserFavoriteList/xxx
获取cookie GET
/reptiles/cookie
获取ttwid GET
/reptiles/ttwid
获取xbogus GET
/reptiles/xbogus

示例图片:

image image image image

代码参考(Refer)

About

douyin-reptiles(抖音爬虫),简单易用,可用于爬取用户点赞视频,视频详情等抖音API,生成ttwid、X-Bbous,全部可纯Java或Python代码实现


Languages

Language:JavaScript 81.8%Language:Java 17.3%Language:Python 0.9%