1
LifStge 2020-08-11 13:25:15 +08:00 3
调侃一下~
轮子造的越多 跑的越快 越不满足 越跑越快 然后就跑进去了 |
2
renmu123 2020-08-11 13:39:34 +08:00
不需要造,你想要的都有人造完了,下至 requests 上至爬虫集群管理
|
3
xiaowo 2020-08-11 13:59:51 +08:00
嗯
|
4
tikazyq 2020-08-11 14:00:54 +08:00 2
一个生产可用的爬虫程序包括抓取、解析、入库、定时任务、增量抓取、监控、日志、数据统计等模块,真正要实现一套完备稳定的解决方案真的不是写几个 requests+BeautifulSoup 这么简单。
如果你的爬虫程序只是为了临时性的采集一些数据,那么可能八爪鱼这种 to 小白工具就可以满足,或者简单的用 scrapy/requests 编写个简单爬虫即可。但如果爬虫是你的核心业务,例如搜索引擎、内容聚合、尽职调查等对爬虫有大量要求的应用场景,那么你可能需要考虑爬虫程序的规模性和可扩展性,例如定时任务、爬虫部署、任务调度、日志监控、结果去重,这些通常都需要自己实现一遍,比起写几个 xpath 抓取逻辑要麻烦很多,真的就是工程类问题了。不过好在我们有一些开源项目可以帮你处理这些繁琐的逻辑,例如我开发的轮子,分布式爬虫管理平台 Crawlab ( https://github.com/crawlab-team/crawlab ),可以运行任何语言和框架的管理平台,就是帮爬虫开发者维护管理生产可用的爬虫程序的。 当然,爬虫领域现在比较高阶的技术例如逆向、反爬,这些属于比较偏 hack 的方向,需要长期的经验累积,有兴趣可以自行百度。另外爬虫的道德法律规范也是比较重要的,玩得不好就容易进去了。 总而言之,爬虫从简单到复杂到生产可用是一个逐渐工程化的问题,需要的技术种类繁多,需要很多实战经验,不是调一些 API 就可以完成的。 |
5
maxint 2020-08-11 14:49:30 +08:00 via iPhone
核心问题不在轮子上
|
6
musi 2020-08-11 16:08:12 +08:00 4
最主要的可能是法律问题?爬虫写得好,监狱进的早
|
8
Hlianbobo OP @renmu123 例如克服常见反爬壁垒(封 IP,返回垃圾信息,二维码验证……)现在都有轮子完美的解决了? python 开发者只需要按部就班调用轮子就可以克服以上障碍了?
|
9
Hlianbobo OP @musi 国内有爬社交网络被起诉的案例么?如果没有黑进对方系统。对方的数据都是网上公开人人可见的数据。那么获取 html 代码解析里面的数据,具体触犯什么法律了? 是否有这方面的介绍?
|
10
w568w 2020-08-11 23:09:28 +08:00 via Android
|
11
Juszoe 2020-08-11 23:50:55 +08:00
|
12
jones2000 2020-08-11 23:55:54 +08:00
造轮子可以让你深入了解整个抓取的流程,和需要踩的坑. 如果你对开发不感兴趣,可以直接购买云抓取服务,直接给你抓取好的数据,你直接 py 解析页面数据就可以。
|
13
Myprincess 2020-08-12 00:00:29 +08:00
@tikazyq 怎么解决网站限制,就是有很多 SKU,比如好几万,但是你查看时,只能看到前 1500 条信息。这种怎么破。
|
14
locoz 2020-08-12 02:14:02 +08:00
严格来说,只要你舍得花钱,几乎没有轮子是必须自己造的...
然后你发的这个知乎链接里的回答其实也比较老了,技术日新月异,现在不会逆向基本是找不到工作的,而那些回答里所说的很多问题实际上都有现成的解决方案。 通常来说,除去需要逆向的部分以外,其他所谓的解析、分布式、监控、报警、部署之类的一堆东西,通通都有现成的方案,并且也有很多相关的工具把这些东西都给集成好了。即使没有,你也可以直接拿大数据、后端、前端、安全领域的一些东西来用,反正都是通用的。 而逆向部分,如果你舍得花钱,那直接去调用别人接口解决加密参数生成、验证码识别之类的分分钟就能解决;但如果你不舍得花钱,那不同平台的反逆向手段并不一定相同。 比如瑞数这种,会有专门的人为特定网站每天更新加密参数的生成规律、策略等,这种情况没有通用的轮子,别人有轮子也不会放出来给你用,只能自己造轮子去解决初次分析和后续的自动更新问题。 @Hlianbobo #8 封 IP 问题接代理 IP,即使是 4G 代理这种高质量且稀少的 IP,目前国内也开始有人卖了,并不需要自己造轮子(以前需要)。 返回脏数据说明被识别到了,属于逆向部分没做好或行为部分没做好,没有轮子能解决这种需要脑力劳动的事情。 二维码验证不同平台都是不同的,又何来的轮子通用化解决?本质上还是逆向部分的问题。 |
15
locoz 2020-08-12 02:15:22 +08:00
@Myprincess #13 人家后端限制你只能看 1500 条,那你就只能看 1500 条。人都无法看到的东西,机器也一样无法看到。
|
16
Hlianbobo OP @jones2000 谢谢回复。你所提到的云抓服务成熟度高么?以下问题:1 、html 信息不完整,关键信息在加密了。不在前端直接展示。2 、发现你在爬信息,故意给你返回垃圾信息。诸如此来不一而足。以上属于云抓服务解决问题的范畴么?如果属于,目前云抓服务在克服以上问题都做的很完善么?有没有优质服务商推荐呢?
|
17
Hlianbobo OP @Myprincess 不知道怎么给你的问题点赞。所以只好通过回复赞赏
|
18
Hlianbobo OP @locoz 谢谢高质量的详细回复。受益匪浅。小白看后生出更多疑问:
严格来说,只要你舍得花钱,...........上都有现成的解决方案。 ------------逆向的意思是特指那些没有 web 页面,只有 app 服务的(例如拼多多)的信息抓取么?以下是我的揣测:因为都是 app 内展现数据,所以信息都是加密的,只能在他们自己的 app 内解析展现。就算你能抓取他传送的信息,但是无法解密也无法利用这些信息。逆向的意思就是获取他们的解密算法和解析算法。是么? 通常来说,除去需要逆向的部分以外,其他所谓的解析、分布式、监控、报警、部署之类的一堆东西,通通都有现成的方案,并且也有很多相关的工具把这些东西都给集成好了。即使没有,你也可以直接拿大数据、后端、前端、安全领域的一些东西来用,反正都是通用的。 ------------请问有业内公认好用的轮子推荐么?就是直接在 python 内分别 import 以后就直接调用他的函数就可以完美的克服以上障碍。而且用的人比较多。使用中遇到问题,书籍和网上的回复比较丰富的。主要担心理论上有轮子,实际用起来一言难尽......... -----------“你也可以直接拿大数据、后端、前端、安全领域的一些东西来用,反正都是通用的。”大数据,后端前端的东西和爬数据有什么联系?怎么拿来使用。请问有这方面的文章和书推荐么?就是怎么利用这些非爬虫工具来克服爬取数据过程中遇到的障碍。 而逆向部分,如果你舍得花钱,那直接去调用别人接口解决加密参数生成、验证码识别之类的分分钟就能解决;但如果你不舍得花钱,那不同平台的反逆向手段并不一定相同。 比如瑞数这种,会有专门的人为特定网站每天更新加密参数的生成规律、策略等,这种情况没有通用的轮子,别人有轮子也不会放出来给你用,只能自己造轮子去解决初次分析和后续的自动更新问题。 ----------------请问有做社交媒体逆向比较好的服务商推荐么?比如针对大众点评,美团,微博,小红书....... |
19
jones2000 2020-08-12 19:25:24 +08:00
@Hlianbobo 我用的是八抓鱼, 抓些不太重要的新闻数据。如果是重要的数据,一般会找数据商购买, 不会自己抓, 太麻烦,而且数据校对也是个问题。 如果是买数据商的数据,质量一般没什么问题,合同里面一般都会标明数据错误是要扣他们钱的。
|
21
jeeyong 2020-08-14 23:46:28 +08:00
@locoz 求教针对 selenium webdriver=true 这种检测怎么破?
网上得办法我都试过. 第一种, 访问网站前修改 webdriver 对象. 这里面又有好多种. 第二种, 通过参数屏蔽 webdriver, 这种 chromedriver 更新后就不行了 还有什么办法>? |
22
locoz 2020-08-17 17:56:18 +08:00
@Hlianbobo #18
你爬别人东西,别人会在各种方面(如展示、请求、解析等)阻拦你,而不是仅仅在于你所说的展示部分,也并不一定是获取解密算法和解析算法。逆向是为了将各种阻拦一一剥开,让你的爬虫程序能模拟得像对方自己的客户端一样。 轮子不是只有 python 库...即使单说 python 库,很多时候也不可能仅仅是 import 之后直接调用就能解决问题,总会需要按你自己的情况进行配置的。 大数据、后端、前端的东西可以用来解决特定问题,爬虫本身涉及到的领域就很多,其他相关领域的东西自然可以被拿来用啊。你现在不知道有什么联系、怎么拿来使用,说明你没有碰到过相关问题,等你碰到了自然就会去找、去了解了,没必要刻意学。 我不知道你所说的“做社交媒体逆向”的服务商指的是什么,通常来说这种卖服务的都是卖数据、卖特定加密参数的生成、卖特定验证码的识别等,并且除了卖数据的以外,其他与逆向直接相关的基本都不会在明面上卖。 |
24
Hlianbobo OP @locoz 谢谢回复。我明白了。
有没有比较靠谱和知名的爬虫服务提供商。我告诉他我要爬哪些网站的哪些数据,他就按照指定要求爬下来。 |
25
locoz 2020-08-17 19:07:05 +08:00
@Hlianbobo #24 这家你可以看看,大部分你需要的应该都有: https://www.idataapi.cn/t/blfaaal
|
26
vincekang 2020-08-17 23:26:40 +08:00
项目代码: https://github.com/kangvcar/InfoSpider
项目使用文档: https://infospider.vercel.app 项目视频演示: https://www.bilibili.com/video/BV14f4y1R7oF/ INFO-SPIDER 是一个集众多数据源于一身的爬虫工具箱,旨在安全快捷的帮助用户拿回自己的数据,工具代码开源,流程透明。支持数据源包括 GitHub 、QQ 邮箱、网易邮箱、阿里邮箱、新浪邮箱、Hotmail 邮箱、Outlook 邮箱、京东、淘宝、支付宝、中国移动、中国联通、中国电信、知乎、哔哩哔哩、网易云音乐、QQ 好友、QQ 群、生成朋友圈相册、浏览器浏览历史、12306 、博客园、CSDN 博客、开源中国博客、简书。 |
27
Hlianbobo OP @vincekang 谢谢回复。刚看了视频。网站直接输入用户名进入。不需要指定下载内容,软件怎么知爬取哪些内容?看到很多文章说爬取邮件。实务当中爬取邮件是一般是基于什么需求?
|
28
vincekang 2020-08-18 00:52:54 +08:00
@Hlianbobo 项目使用说明文档里有每个数据源所爬取的数据的示例哦,你可以仔细看看说明文档哦。
![20200818005018.png]( https://i.loli.net/2020/08/18/HZjuxU1zJSs5aOh.png) |