“ 阅读本文大概需要 3 分钟。
”之前也写过不少关于爬虫的博客了,比如我拿一个案例来写了一篇博客,当时写的时候好好的,结果过了一段时间这个页面改版了,甚至直接下线了,那这篇案例就废掉了。
另外如果拿别人的站或者 App 来做案例的话,比较容易触犯到对方的利益,风险比较高,比如把某个站的 JavaScript 逆向方案公布出来,比如把某个 App 的逆向方案公布出来。如果此时此刻没有对方联系你的话,一个很大原因可能是规模太小了别人没注意到,但不代表以后不会。我还是选择爱护自己的羽毛,关于逆向实际网站和 App 的案例我都不会发的。在这种情况下比较理想的方案是自建案例,只用这个案例讲明白对应的知识点就可以了。
所以,为此,这段时间我也在写一些爬虫相关的案例,比如:
•无反爬的服务端渲染网站 •带有参数加密的 SPA 网站 •各类形式验证码网站 •反 WebDriver 网站 •字体反爬等网站 •模拟登录网站 •App 案例,如代理检测,SSL Pining 等
今天发布一下。
本案例平台自爬数据、自建页面、自接反爬,案例稳定后永不过期,适合教学与练习。
•ssr1[1]:猫眼电影数据网站,数据通过服务端渲染,适合基本爬虫练习。 •ssr2[2]:HTTPS 无效证书网站,适合做跳过验证 HTTPS 案例。 •ssr3[3]:HTTP Basic Authentication 网站,适合做 HTTP 认证案例,用户名密码均为 admin。•ssr4[4]:每个响应增加了 5 秒延迟,适合测试慢速网站爬取或做爬取速度测试,减少本身网速干扰。
•spa1[5]:猫眼电影数据网站,数据通过 Ajax 加载,页面动态渲染,适合 Ajax 分析和动态页面渲染爬取。 •spa2[6]:猫眼电影数据网站,数据通过 Ajax 加载,数据接口参数加密且有时间限制,适合动态页面渲染爬取或 JavaScript 逆向分析。 •spa3[7]:猫眼电影数据网站,数据通过 Ajax 加载,无页码翻页,适合 Ajax 分析和动态页面渲染抓取。 •spa4[8]:新闻网站索引,数据通过 Ajax 加载,无页码翻页,适合 Ajax 分析和动态页面渲染抓取以及智能页面提取分析。 •spa5[9]:豆瓣图书网站,数据通过 Ajax 加载,有翻页,无反爬,适合大批量动态页面渲染抓取。 •spa6[10]:电影数据网站,数据通过 Ajax 加载,数据接口参数加密且有时间限制,源码经过混淆,适合 JavaScript 逆向分析。
•captcha1[11]:对接滑动拼图验证码,适合滑动拼图验证码分析处理。 •captcha2[12]:对接图标点选验证码,适合图标点选验证码分析处理。 •captcha3[13]:对接图文点选验证码,适合图文点选验证码分析处理。 •captcha4[14]:对接语序分析验证码,适合语序分析验证码分析处理。 •captcha5[15]:对接空间推理验证码,适合空间推理验证码分析处理。 •captcha6[16]:对接九宫格识图验证码,适合九宫格识图验证码分析处理。
•login1[17]:登录时用户名和密码经过加密处理,适合 JavaScript 逆向分析。 •login2[18]:对接 Session + Cookies 模拟登录,适合用作 Session + Cookies 模拟登录练习。•login3[19]:对接 JWT 模拟登录方式,适合用作 JWT 模拟登录练习。
•antispider1[20]:WebDriver 反爬网站,检测到 WebDriver 就不显示页面。 •antispider2[21]:对接 User-Agent 反爬,检测到常见爬虫 User-Agent 就会拒绝响应,适合用作 User-Agent 反爬练习。 •antispider3[22]:对接文字偏移反爬,所见顺序并不一定和源码顺序一致,适合用作文字偏移反爬练习。 •antispider4[23]:对接字体文件反爬,显示的内容并不在 HTML 内,而是隐藏在字体文件,设置了文字映射表,适合用作字体反爬练习。 •antispider5[24]:限制 IP 访问频率为最多 1 秒一个,如果过多则会封禁 IP。
•app1[25]:最基本的 App 案例,数据通过接口加载,无反爬,无任何加密参数,适合做抓包分析和请求模拟。 •app2[26]:设置了接口请求不走系统代理,因此无法直接抓包,适合做抓包特殊处理。 •app3[27]:对系统代理进行了检测,如果设置了代理则无法正常请求数据,适合做抓包特殊处理。 •app4[28]:设置了 SSL Pining,如果设置了非法证书则无法正常请求数据,适合做反 SSL Pining 处理。 •app5[29]:接口增加了加密参数,适合做抓包实时处理或可视化爬取或逆向分析。 •app6[30]:接口增加了加密参数,同时对源码进行了混淆,适合做抓包实时处理或可视化爬取或逆向分析。 •app7[31]:接口增加了加密参数,同时对安装包进行了加固处理,适合做抓包实时处理或可视化爬取或逆向分析。
暂且是这么多,后续还会继续增加,大家可以试着爬爬看。
为了方便,我专门申请了一个域名,scrape.center,意思名为「爬取中心」,似乎听起来意义上还说的过去?
案例平台首页 URL:https://scrape.center,截图如下:
案例首页
大家可以点击任意一个网站来爬取练习。
下面是一些部分案例的截图:
SSR1案例截图
SPA4案例截图
SPA5案例截图
SPA6案例截图
上面是一些案例的效果,基本上是使用 Django + Vue.js 开发的,主题使用了红色调,整个案例平台风格比较统一。另外还有一些 App 也是类似的风格,大家可以自行下载体验试试。
当然这里面最主要的还是案例的功能,比如各种加密、反爬、检测等等。
有朋友可能会问这个案例平台的源代码在哪里。
这里解释一下,由于这个案例平台以后会用于案例的讲解,并且可能会出现在课程、书本中,所以为了避免盗版和抄袭的问题,这里我选择了闭源,也算是对自己的知识成果的另一种保护吧。
不过这并不意味着爬取代码是闭源的,这块还是会开源出来的。
还有朋友会问,这一个个网站这么多类型和反爬,到底怎么爬呢?
谢谢大家。
[1]
ssr1: https://ssr1.scrape.center/
[2]
ssr2: https://ssr2.scrape.center/
[3]
ssr3: https://ssr3.scrape.center/
[4]
ssr4: https://ssr4.scrape.center/
[5]
spa1: https://spa1.scrape.center/
[6]
spa2: https://spa2.scrape.center/
[7]
spa3: https://spa3.scrape.center/
[8]
spa4: https://spa4.scrape.center/
[9]
spa5: https://spa5.scrape.center/
[10]
spa6: https://spa6.scrape.center/
[11]
captcha1: https://captcha1.scrape.center/
[12]
captcha2: https://captcha2.scrape.center/
[13]
captcha3: https://captcha3.scrape.center/
[14]
captcha4: https://captcha4.scrape.center/
[15]
captcha5: https://captcha5.scrape.center/
[16]
captcha6: https://captcha6.scrape.center/
[17]
login1: https://login1.scrape.center/
[18]
login2: https://login2.scrape.center/
[19]
login3: https://login3.scrape.center/
[20]
antispider1: https://antispider1.scrape.center/
[21]
antispider2: https://antispider2.scrape.center/
[22]
antispider3: https://antispider3.scrape.center/
[23]
antispider4: https://antispider4.scrape.center/
[24]
antispider5: https://antispider5.scrape.center/
[25]
app1: https://app1.scrape.center/
[26]
app2: https://app2.scrape.center/
[27]
app3: https://app3.scrape.center/
[28]
app4: https://app4.scrape.center/
[29]
app5: https://app5.scrape.center/
[30]
app6: https://app6.scrape.center/
[31]
app7: https://app7.scrape.center/
Copyright© 2013-2020
All Rights Reserved 京ICP备2023019179号-8