/awesome-java-crawler

本仓库收集整理爬虫相关资源,开发语言以Java为主

awesome-java-crawler

本仓库收集整理Java爬虫相关资源

非浏览器Java爬虫框架

基于浏览器核心的爬虫工具

  • Selenium - 应用最广泛的浏览器自动化测试框架,支持所有主流浏览器
  • PhantomJS(javascript) - 基于WebKet核心的无头浏览器。已经停止维护
  • Puppeteer(javascript) - 提供基于Chrome开发工具协议控制Chrome浏览器的高层开发API
  • Chrome Devtools Protocol - Chrome开发协议相关资源;所有主流编程语言均有第三方支持
  • CDP4J - Java版本的Chrome开发协议支持库。注意本库为商业授权
  • Tampermonkey - 著名的“油猴”浏览器脚本管理器,可用于浏览器自动化控制

Java网络框架

  • java-curl - CURL命令行工具的纯java实现,功能强大,灵活方便
  • httpclient - 历史悠久的Apache HTTP开源库
  • okhttp - 目前流行的HTTP开源库,可用于Android
  • retrofit - 基于okhttp的高层HTTP库,提供基于注解的API

应答数据解析

  • jsoup - 网络请求,HTML解析,CSS Selector/xPath查询
  • Jackson, GSON, fastjson - JSON解析
  • dom4j - XML解析

代理IP

验证码破解

抓包分析,请求拦截等工具

  • Fiddler - Windows平台上常用抓包工具,可以分析HTTPS,可C#编程自行扩展
  • Charles - Mac上可用的抓包工具
  • LittleProxy-MITM - 基于LittleProxy,可编程扩展的Java代理服务器,可基于中间人方式解析和修改HTTPS请求和应答
  • proxyee - 国人作品,支持HTTPS
  • 抓包工具大全 - 猫厂、鹅厂都有,看来大厂都喜欢造轮子

前端JavaScript分析调试工具

其它工具

  • CURL - 最常用的命令行请求模拟工具,Windows下可以通过Cygwin安装,也可以直接用java-curl
  • HTTPBIN.ORG - 在线工具网站,根据需求模拟各种HTTP应答,可用于验证代理的匿名性(透明/匿名/高匿)
    • curl -x <proxy>:<port> https://httpbin.org/get?show_env=1 - 如果X-Forwarded-For和origin不一致,表明使用了非匿名代理
  • 淘宝IP地址库
    • http://ip.taobao.com/service/getIpInfo.php?ip=11.206.34.204 - 查询给定IP的归属地
    • curl http://ip.taobao.com/service/getIpInfo2.php -x <proxy>:<port> -d "ip=myip" - 查询当前主机公网IP信息,这个命令可以验证代理IP是否可用,同时获取代理IP的归属地
  • IP138 - 查询IP归属地、手机号段等
  • 在线UA库 - 各种真实浏览器UserAgent列表
  • WEB前端助手 - Chrome插件,提供大量实用工具,如JSON格式化,编解码等
  • 在线加解密算法大全 - 含DES, AES, RSA等,可用于快速验证加解密算法
  • beautifier.io - js代码在线格式化
  • estree - ECMAScript抽象语法树(AST)业界标准
  • ECMAScript262语言规范 - 帮助理解estree
  • acornjs - ECMAScript编译器前端,将js源码解析成estree格式的AST
  • astring - ECMAScript代码生成器,将AST重新还原成js源码

爬虫实例项目

爬虫干货文章收集

概念

实操

高级反爬攻防

Android App破解

Chrome浏览器相关

其它资源

  • apkmirror - 安卓x86版Chrome下载,可用于安卓模拟器