某众点评网的反爬措施是真的🐮,但误伤率也比较高。如果没有加农炮(加强型爬虫代理 IP ),获取到的数据量会少之又少。
除此之外,该网站设置了多种反爬措施,多种数据逻辑障碍等来 ban 爬虫,是我目前为止碰到的最难缠的网站。
但是如果你真的造完该站点的爬虫程序,你会发现维护很累,基本上一天一个样(可能有点夸张)。但是作为训练目标,真的很有收获。
https://github.com/Northxw/Dianping 项目已提交 github,欢迎提交 issue。
1
PP 2019-04-25 12:01:55 +08:00 via iPad 1
我记得在一篇文章里面读到过一个说法,反爬不是为了阻止爬虫,而是为了增加爬虫难度,所以要一天一个样,比的就是勤勉。
有谁能够讲一讲爬虫和反爬的道理?论理不论事。请不吝赐教! |
2
Klingon 2019-04-25 12:09:13 +08:00
#1 "比的就是勤勉" 🐂
|
3
lhx2008 2019-04-25 12:13:36 +08:00 via Android 1
只要能被用户看到,理论上就可以被爬,但是大规模的爬已经有很多方法控制,现在就是小规模爬取上面打游击战
@PP |
4
dcalsky 2019-04-25 12:22:02 +08:00 via Android
楼主有研究过登录吗?登录接口需要带 cookie 才能成功的那种,而 cookie 的获取方式需要在页面上触发 click 事件从而发 http request。
|
6
dot2017 2019-04-25 12:25:57 +08:00
点评是真的变态,我现在网页版基本就处于没法用的状态,打开一家餐厅就验证,验证以后还不会自动跳转
|
7
lithiumii 2019-04-25 12:31:54 +08:00
点评我网页版也经常用不了,后来才知道是反爬……
|
8
n329291362 2019-04-25 12:32:49 +08:00 via Android
爬客户端协议🌚
|
9
Northxw OP |
10
ml1344677 2019-04-25 12:53:07 +08:00 2
@PP 高德的反爬从来不会限制你 IP 对服务器的访问,我需要抓取的数据里面有一个 list,顺序很重要。高德的反爬是将这个 list 的排序打乱,而你又要花计算成本去计算这个 list 是否正确。所以根本不是反爬虫,而增加了爬虫成本。
|
11
PP 2019-04-25 12:59:47 +08:00 via iPad 1
|
14
l0wkey 2019-04-25 13:14:19 +08:00
17 年时候学习 pyspider 框架时候练手爬过, 爬了 1200w+的页面,基本没感受到反爬😂...
|
15
TheBestSivir 2019-04-25 14:01:35 +08:00
别光爬啊,多用用我司产品啊。再爬就给你们爬倒闭了呀
|
16
stephenliubp 2019-04-25 14:18:32 +08:00
看看我的这个 Web 端反爬虫方案 : https://github.com/FantasticLBP/Anti-WebSpider
|
17
Northxw OP |
19
Aliennnnnn 2019-04-25 14:55:21 +08:00
@dcalsky 用 puppeteer 呀
|
20
JCZ2MkKb5S8ZX9pq 2019-04-25 15:09:21 +08:00 1
说到某团我就来气。
去年我们好好地爬着 x 红书,给客户做媒体方案,顶多限制 ip 频次,但也能用。 然后大众 X 评 tm 就整个爬了 x 红书,把一堆现成的帖子评论放自己产品里,结果 x 红书立刻升级了反爬…… 大众 X 评自己嘛坑得一逼,贼当久了看谁都像贼。网页版正常访问,开一个页面都要验证至少两次。 已经删了,偶尔用下小程序。 |
21
n329291362 2019-04-25 16:06:14 +08:00
@Northxw 他们客户端类似于 https 加密 好像没做反爬
|
22
Northxw OP |
23
aver4vex 2019-04-25 16:24:01 +08:00
我碰到过必须开启 JavaScript 的网站,只能用 selinum 搞。
|
25
dcalsky 2019-04-25 16:52:26 +08:00 via Android
@Aliennnnnn puppeteer 慢呀 高并发需求
|
26
tikazyq 2019-04-25 16:55:53 +08:00
已 star,考虑用 crawlab 来运行一下,https://github.com/tikazyq/crawlab
|
28
Northxw OP |
30
jccg90 2019-04-25 18:10:11 +08:00
这垃圾网站,别说爬虫了。。。人去看都费劲。。。
用 app 的接口爬还行 |
31
akira 2019-04-25 18:16:04 +08:00
反爬只能增加爬虫成本 并不能杜绝
|
34
luanguang 2019-04-25 18:54:18 +08:00 via Android
大佬歪个楼……我想请问一下你是怎么提升爬虫技术水平的
我是一开始是使用 pyspider 爬取一些网站,然后对爬虫开始感兴趣,然后看书敲代码,学 scrapy 框架。不过遇到反爬厉害一点的网站就只会用 selenium+代理池强行怼……所以想问问有什么继续进阶的方向。 |
37
fenghuang 2019-04-25 19:44:32 +08:00
是不是必须有代理池才能玩
|
38
Northxw OP |
39
miaomiao0323 2019-04-25 20:38:17 +08:00
@stephenliubp #16 我的理解是对数字做了一次自定义的加密,但是前端解密肯定是在 js 的啊,爬虫可以找到这段 js,把你的算法解出来
|
40
PP 2019-04-25 20:44:03 +08:00 via iPad
@JCZ2MkKb5S8ZX9pq 哈哈哈哈,笑死我了。
|
41
aver4vex 2019-04-25 20:48:46 +08:00
@crab 我爬的那个网站是先检测浏览器是否启用 js,然后服务端负责跳转到不同页面。要是用的是 react,node,vue 之类的还倒好搞。
|
43
matsuz 2019-04-25 21:39:49 +08:00
大众点评虽然爬起来比较麻烦,不过还好吧
最麻烦的我感觉是天猫淘宝的搜索页 |
44
redsonic 2019-04-25 21:43:33 +08:00
说实在的,啥时候有基于人工智能的爬虫.
|
45
Northxw OP |
47
rocketman13 2019-04-29 14:06:52 +08:00
问一下计算偏移量的公式在那个文件可以找到呢
|
48
Northxw OP @rocketman13 可以的,数字的偏移量计算比较固定,文字的偏移量计算比较多变,我在 md 文档里面有说明,你可以看下
|
49
bituplink 2019-04-30 08:15:09 +08:00 1
@PP 可以看下这个图,我也刚尝试爬虫,但是觉得这个图让我更好的理解了爬虫与反爬虫的思路
http://www.bituplink.com/python-crawler-study-six-level-graph.html |