[![996.icu](https://img.shields.io/badge/link-996.icu-red.svg)](https://996.icu)
# awesome-java-crawler
本仓库收集整理Java爬虫相关资源
### 非浏览器Java爬虫框架
* [VSCrawler](https://gitee.com/virjar/vscrawler) - 适合抓取封堵的爬虫框架,大佬出品!
* [WebMagic](https://github.com/code4craft/webmagic) - Java垂直爬虫框架
* [crawler4j](https://github.com/yasserg/crawler4j) - 多线程爬虫框架
* [SeimiCrawler](https://github.com/zhegexiaohuozi/SeimiCrawler)
* [ispider](https://github.com/xpleaf/ispider) - 分布式爬虫框架
* [Gecco](https://github.com/xtuhcy/gecco) - 轻量化的易用的网络爬虫
### 基于浏览器核心的爬虫工具
* [Chrome Devtools Protocol](https://github.com/ChromeDevTools/awesome-chrome-devtools) - Chrome开发协议相关资源;Chrome控制台工具、Selenium、Puppeteer均基于此协议开发;所有主流编程语言均有第三方支持
* [Selenium](https://www.seleniumhq.org/) - 应用最广泛的浏览器自动化测试框架,支持所有主流浏览器
* [Puppeteer(javascript)](https://github.com/GoogleChrome/puppeteer/) - 基于Chrome开发协议的高层浏览器自动化框架
* [Pyppeteer(python)](https://github.com/pyppeteer/pyppeteer) - puppeteer的Python实现
* [Jyppeteer](https://github.com/fanyong920/jvppeteer) - puppeteer的Java实现
* [CDP4J](https://github.com/webfolderio/cdp4j) - Java版本的Chrome开发协议支持库。注意本库为商业授权
* [Tampermonkey](https://tampermonkey.net/) - 著名的“油猴”浏览器脚本管理器,可用于浏览器自动化控制
* [PhantomJS(javascript)](http://phantomjs.org/) - 基于WebKet核心的无头浏览器。已经停止维护
### Java网络框架
* [java-curl](https://github.com/rockswang/java-curl) - CURL命令行工具的纯java实现,功能强大,灵活方便
* httpclient - 历史悠久的Apache HTTP开源库
* okhttp - 目前流行的HTTP开源库,可用于Android
* retrofit - 基于okhttp的高层HTTP库,提供基于注解的API
### 应答数据解析
* [jsoup](https://jsoup.org/) - 网络请求,HTML解析,CSS Selector/xPath查询
* Jackson, GSON, fastjson - JSON解析
* [dom4j](https://dom4j.github.io/) - XML解析
### 代理IP
* [66免费代理网](http://www.66ip.cn/)
* [西刺免费代理IP](http://www.xicidaili.com/)
* [无忧代理](http://www.data5u.com/)
* [芝麻软件](http://www.zhimaruanjian.com/)
### 验证码破解
* [冷月JS爆破](https://github.com/leng-yue/Lengyue-Vcode/) - 各种滑动验证码识别
* [Luosimao验证码破解](https://github.com/sml2h3/luosimao_cracker)
* [Tesseract OCR](https://github.com/tesseract-ocr/tesseract) - 开源OCR引擎,可用于自动识别较简单的图片验证码
* [若快](http://www.ruokuai.com/) - 人肉打码平台,服务较稳定,应答时间较快
### 抓包分析,请求拦截等工具
* [Fiddler](https://www.telerik.com/fiddler) - Windows平台上常用抓包工具,可以分析HTTPS,可C#编程自行扩展
* Charles - Mac上可用的抓包工具
* [LittleProxy-MITM](https://github.com/ganskef/LittleProxy-mitm) - 基于LittleProxy,可编程扩展的Java代理服务器,可基于中间人方式解析和修改HTTPS请求和应答
* [proxyee](https://github.com/monkeyWie/proxyee) - 国人作品,支持HTTPS
* [抓包工具大全](https://www.freebuf.com/sectool/184366.html) - 猫厂、鹅厂都有,看来大厂都喜欢造轮子
### 前端JavaScript分析调试工具
* [javascript-breakpoint-collection](https://github.com/mattzeunert/javascript-breakpoint-collection) - 一个Chrome插件,可用于设定高级断点;也可以直接在控制台执行其源码,之后即可在控制台设断点,可以监听任意对象属性读写、cookie读写等
* [几种常见的JavaScript混淆和反混淆工具分析实战](https://www.freebuf.com/articles/web/97945.html)
* [spy-debugger手机浏览器远程调试](https://github.com/wuchangming/spy-debugger) - 使用代理服务器注入外部JavaScript,实现远程调试。可以调试微信内置浏览器, 应用内嵌的WebView等,非常强大
### 其它工具
* CURL - 最常用的命令行请求模拟工具,Windows下可以通过Cygwin安装,也可以直接用java-curl
* [HTTPBIN.ORG](https://httpbin.org) - 在线工具网站,根据需求模拟各种HTTP应答,可用于验证代理的匿名性(透明/匿名/高匿)
* ```curl -x <proxy>:<port> https://httpbin.org/get?show_env=1``` - 如果X-Forwarded-For和origin不一致,表明使用了非匿名代理
* [淘宝IP地址库](http://ip.taobao.com/)
* ```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](http://ip138.com) - 查询IP归属地、手机号段等
* [在线UA库](https://developers.whatismybrowser.com/useragents/explore/software_name/) - 各种真实浏览器UserAgent列表
* WEB前端助手 - Chrome插件,提供大量实用工具,如JSON格式化,编解码等
* [在线加解密算法大全](http://tool.chacuo.net/cryptdes) - 含DES, AES, RSA等,可用于快速验证加解密算法
* [beautifier.io](https://beautifier.io/) - js代码在线格式化
* [estree](https://github.com/estree/estree) - ECMAScript抽象语法树(AST)业界标准
* [ECMAScript262语言规范](https://tc39.github.io/ecma262) - 帮助理解estree
* [acornjs](https://github.com/acornjs/acorn) - ECMAScript编译器前端,将js源码解析成estree格式的AST
* [astring](https://github.com/davidbonnet/astring) - ECMAScript代码生成器,将AST重新还原成js源码
### 爬虫实例项目
* [知乎爬虫](https://github.com/wycm/zhihu-crawler) - 使用http代理,多线程
* [电商爬虫](https://github.com/JFanZhao/spider) - httpclient+hbase+solr+redis+zookeeper
* [淘宝商品爬虫(python)](https://github.com/Williamsunsir/Spider/tree/master/taobao) - python + selenium
### 爬虫干货文章收集
#### 概念
* [HTTP简史](https://zhuanlan.zhihu.com/p/59345476) - 介绍HTTP协议的干货
* [网络爬虫干货总结](https://juejin.im/post/5bce8201518825773605597d) - 虽然是python栈的,但是对爬虫各个环节的概念总结的非常全面
* [Java 月薪25K的爬虫工程师对爬虫的流程做了一个非常全面的总结!](https://blog.csdn.net/Knight_VIP/article/details/81736918) - 膜拜ing...
#### 实操
* [微信公众号文章批量采集系统的构建](https://zhuanlan.zhihu.com/p/24302048)
#### 高级反爬攻防
* [注入eval, Function等系统函数,截获动态代码](https://segmentfault.com/a/1190000018742189) - 破解动态执行的加密js代码
* [某网站高度加密混淆的javascript的分析](https://segmentfault.com/a/1190000017541235)
* [从javaScript脚本混淆说起](https://www.freebuf.com/articles/system/140062.html)
* [JavaScript反调试技巧](https://www.freebuf.com/articles/system/163579.html) - 知己知彼,百战不殆
* [Chrome调试技巧](https://github.com/FantasticLBP/knowledge-kit/blob/master/%E7%AC%AC%E4%BA%8C%E9%83%A8%E5%88%86%20Web%20%E5%89%8D%E7%AB%AF/2.24.md)
* [那些年绕过的反爬手段](https://www.freebuf.com/articles/web/166125.html)
* [反反爬虫手段收集](https://github.com/luyishisi/Anti-Anti-Spider)
* [大前端时代安全性如何做](https://segmentfault.com/a/1190000017899193) - 提供一种反爬方案
* [文书网破解SDK](https://github.com/sml2h3/mmewmd_crack_for_wenshu)
* [2.5代指纹追踪技术—跨浏览器指纹识别](https://paper.seebug.org/350/)
#### Android App破解
* [思路分享 | 看我如何给微信下钩子](https://www.freebuf.com/articles/web/156944.html)
#### Chrome浏览器相关
* [Chrome命令行参数大全](https://peter.sh/experiments/chromium-command-line-switches/) - 定制化chrome,比如启
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
爬虫(Web Crawler)是一种自动化程序,用于从互联网上收集信息。其主要功能是访问网页、提取数据并存储,以便后续分析或展示。爬虫通常由搜索引擎、数据挖掘工具、监测系统等应用于网络数据抓取的场景。 爬虫的工作流程包括以下几个关键步骤: URL收集: 爬虫从一个或多个初始URL开始,递归或迭代地发现新的URL,构建一个URL队列。这些URL可以通过链接分析、站点地图、搜索引擎等方式获取。 请求网页: 爬虫使用HTTP或其他协议向目标URL发起请求,获取网页的HTML内容。这通常通过HTTP请求库实现,如Python中的Requests库。 解析内容: 爬虫对获取的HTML进行解析,提取有用的信息。常用的解析工具有正则表达式、XPath、Beautiful Soup等。这些工具帮助爬虫定位和提取目标数据,如文本、图片、链接等。 数据存储: 爬虫将提取的数据存储到数据库、文件或其他存储介质中,以备后续分析或展示。常用的存储形式包括关系型数据库、NoSQL数据库、JSON文件等。 遵守规则: 为避免对网站造成过大负担或触发反爬虫机制,爬虫需要遵守网站的robots.txt协议,限制访问频率和深度,并模拟人类访问行为,如设置User-Agent。 反爬虫应对: 由于爬虫的存在,一些网站采取了反爬虫措施,如验证码、IP封锁等。爬虫工程师需要设计相应的策略来应对这些挑战。 爬虫在各个领域都有广泛的应用,包括搜索引擎索引、数据挖掘、价格监测、新闻聚合等。然而,使用爬虫需要遵守法律和伦理规范,尊重网站的使用政策,并确保对被访问网站的服务器负责。
资源推荐
资源详情
资源评论
收起资源包目录
本仓库收集整理爬虫相关资源,开发语言以Java为主.zip (1个子文件)
WGT-code
README.md 8KB
共 1 条
- 1
资源评论
JJJ69
- 粉丝: 6352
- 资源: 5918
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Java 代码覆盖率库.zip
- Java 代码和算法的存储库 也为该存储库加注星标 .zip
- 免安装Windows10/Windows11系统截图工具,无需安装第三方截图工具 双击直接使用截图即可 是一款免费可靠的截图小工具哦~
- Libero Soc v11.9的安装以及证书的获取(2021新版).zip
- BouncyCastle.Cryptography.dll
- 5.1 孤立奇点(JD).ppt
- 基于51单片机的智能交通灯控制系统的设计与实现源码+报告(高分项目)
- 什么是 SQL 注入.docx
- Windows 11上启用与禁用网络发现功能的操作指南
- Java Redis 客户端 GUI 工具.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功