爬虫大佬进来,这个没验证码、不限制 ip、不混淆字符的网站能爬出来算我输

2020-03-20 10:01:30 +08:00
 kisshere

https://pixabay.com

这个站本来准备练练手写爬虫,却严重打击了写爬虫的信心,不限制 ip,没 captcha,你即使复制浏览器的所有 headers,服务器还是能直接一个 403 扔过来,但你用正常浏览器:chrome、Firefox 就能正常访问,这个用的什么反爬技术

10339 次点击
所在节点    程序员
81 条回复
qsnow6
2020-03-20 10:03:47 +08:00
就不给你爬
sphawkcn
2020-03-20 10:04:53 +08:00
既然能用正常浏览器访问,那你用无头浏览器爬不就行了?
b821025551b
2020-03-20 10:06:15 +08:00
crella
2020-03-20 10:06:20 +08:00
禁用了 js 就看不到图片群了,有没有试过 selenium 那些?
mooyo
2020-03-20 10:07:00 +08:00
<p data-translate="why_captcha_detail">
<ol>
<li>检测到您的 IP 有风险行为,通过输入验证码来确认非机器访问</li>
<li>网站管理员开启了某些安全功能,需要对访客进行验证</li>
<li>您的网络是公共出口 IP (比如,网吧、公司、ADSL 拨号等),其他人的行为导致出口 IP 被标记为风险,需要用户通过验证方式访问</li>
<li>您的网络环境可能存在风险</li>
</ol>
</p>
mooyo
2020-03-20 10:07:11 +08:00
这不是有验证码么
kisshere
2020-03-20 10:07:27 +08:00
@b821025551b 能纯文本一下你的 curl 命令吗?我大致看了下跟我的 curl 命令差不多,我本地网络试试
b821025551b
2020-03-20 10:08:39 +08:00
@kisshere #7 chrome 可以直接复制 cURL
XGF
2020-03-20 10:08:57 +08:00
给👨爬
azoon
2020-03-20 10:09:15 +08:00
这个网站还用了百度云加速。。
loading
2020-03-20 10:11:17 +08:00
帅不过 3 分钟。(3 楼)
zhangpeter
2020-03-20 10:12:29 +08:00
用谷歌推出的 puppeteer
azoon
2020-03-20 10:12:59 +08:00
@b821025551b。。。看看 tittle。都被禁止访问了
lululau
2020-03-20 10:13:16 +08:00
有 body 就不是 403 了?

我试了 Chrome dev tools 复制出来的 curl 命令确实还是 403,有点意思,研究研究
nullboy
2020-03-20 10:16:37 +08:00
kisshere
2020-03-20 10:22:42 +08:00
@b821025551b 清除这网站的所有 cookie,刷新 pixabay.com ,能正常访问,然后 F12 里面 copy cURL,403 了,好神奇
zhenjiachen
2020-03-20 10:31:32 +08:00
@kisshere 确实是的,用 chrome 复制的 curl 出来还是 403,确实很神奇
mywaiting
2020-03-20 10:36:27 +08:00
我能爬,防护的原理不复杂,但是你要自己去发现一下
b821025551b
2020-03-20 10:37:42 +08:00
b821025551b
2020-03-20 10:40:50 +08:00
原理很简单,你直接 cURL 出来的东西无法执行 js,只有浏览器环境下才是正常的请求,所以要依靠浏览器去渲染,chrome 的 headless 模式了解一下。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/654469

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX