V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
timliu22322266
V2EX  ›  Java

PornHub 爬蟲心得

  •  1
     
  •   timliu22322266 · 2018-11-02 01:45:58 +08:00 · 54184 次点击
    这是一个创建于 2215 天前的主题,其中的信息可能已经有所发展或是发生改变。

    开始以前 查了 github 上关键字'PornHub' 发现大部分人都选择了 Python 用 Java 专案写的寥寥无几 使用 Crawler4j 发现了一些问题 上来跟各位伙伴分享下

    1.Crawler4j 把 CONCURRENT_THREAD 包装了, 他的 starNonBlock 让 PornHub 很容易发生 429 的错误.

    2.防爬虫的其他方式是 cookie, Crawler4j 对动态换 cookie 支援很差 最后我只能覆盖掉她的 getHeader 才达到每个 requert 不同 agent, random key

    目前已经可以达到持续执行 24 小时不会被防爬虫侦测, 相对降低了些效能 欢迎大家检讨 我会持续回覆改善 以达到更完美的效能 若有喜欢的朋友也可給个星

    https://github.com/tim232385/PornBot

    第 1 条附言  ·  2018-11-03 20:46:53 +08:00

    增加了spring boot - H2 DB 增加了config 讓使用者可選擇是否下載(僅蒐集已爬過的資料)

    啟動jar後 在瀏覽器打 http://localhost:8000/h2-console/ 會出現DB管理頁面

    第 2 条附言  ·  2018-11-08 12:24:24 +08:00
    Pornhub 用页面的 javascript 计算出下一次请求的 cookie 值,
    所以无法单纯使用请求拿到这组键
    目前用 java 读取该页面的公式及参数运算,再放进 cookie 中
    429 的错误已解决,目前稳定爬资料一晚。
    6 条回复    2018-11-08 12:24:38 +08:00
    Tink
        1
    Tink  
       2018-11-02 07:58:06 +08:00 via iPhone   ❤️ 1
    666
    dream10201
        2
    dream10201  
       2018-11-02 08:52:45 +08:00   ❤️ 1
    没什么意思,硬盘没他家得大
    timliu22322266
        3
    timliu22322266  
    OP
       2018-11-02 21:22:56 +08:00
    今日在公司有了新想法,
    1.预计会增加 h2xSpirngDB 纪录已攀过的网站
    2.增加 config.properties 可选择不进行下载
    3.增加搜寻页面可查看数据库资料
    4.Java Deep 对一些资料做出分析整理(这里完全没有概念...预计要 2~3 周时间才能做到了)


    喜欢的朋友可帮点星代表对我的支持:)
    timliu22322266
        4
    timliu22322266  
    OP
       2018-11-02 21:26:15 +08:00
    @Tink
    @dream10201

    感謝回覆, 還有其他意見歡迎在提供 我會視情況增加至我的專案
    timliu22322266
        5
    timliu22322266  
    OP
       2018-11-03 20:47:04 +08:00
    增加了 spring boot - H2 DB 增加了 config 讓使用者可選擇是否下載(僅蒐集已爬過的資料)

    啟動 jar 後 在瀏覽器打 http://localhost:8000/h2-console/ 會出現 DB 管理頁面
    timliu22322266
        6
    timliu22322266  
    OP
       2018-11-08 12:24:38 +08:00
    Pornhub 用页面的 javascript 计算出下一次请求的 cookie 值,
    所以无法单纯使用请求拿到这组键
    目前用 java 读取该页面的公式及参数运算,再放进 cookie 中
    429 的错误已解决,目前稳定爬资料一晚.
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3310 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 12:18 · PVG 20:18 · LAX 04:18 · JFK 07:18
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.