求指路淘宝爬虫姿势

2021-10-21 21:20:15 +08:00
 sengxian
现在有个需求,需要爬某品类下不同商家的大量商品详情及图片,总量约十万级别,预算比较充足,请问现在有靠谱的方法吗,是不是会面临比较大的政策风险 = =

求指路,感激不尽
7366 次点击
所在节点    程序员
68 条回复
ncepuzs
2021-10-22 16:44:49 +08:00
阿里系的反爬都比较丧心病狂
控制频率 + 代理池或许可以
但既然预算充足,不如外包
jeeyong
2021-10-22 16:51:23 +08:00
首先...你要学习如何编译 chromedriver. 然后要去掉哪些特征. $_cdc 这种基本无所谓了现在.
其次, 你要学会如何用 js 去伪造和去掉很多特征, 有些原生函数还要重写.
举个例子, 当你用 https 协议(ios 必须是此协议, http 不行.)获取设备的地理位置信息时, 可以尝试观察他的变化特征.
而你用爬虫的时候, 是否注意到这个问题. 这个例子仅限于移动设备模式, pc 端貌似不用考虑.
然后才考虑到代理, 行为模式这类问题.
我说的很含糊..因为这个技术弄明白了很香啊....
网上也基本不会有关于第一, 第二条的相关知识. 都闷着自己做事呢.
ws52001
2021-10-22 16:53:02 +08:00
换代理也是没啥用的,现在淘宝是要有 ID 登录才能访问商详,10W 这个数量级虽然很小,但你想顺利爬出来还是很费劲的。。另外阿里的类张三人物还是挺多的,跟你耗个几年估计都没啥问题。
daimaosix
2021-10-22 16:56:00 +08:00
刑,日子总算有判头了
nu11ptr
2021-10-22 16:59:13 +08:00
桌面 web 端正常使用都狂跳反爬,体验吊差
Felldeadbird
2021-10-22 17:13:19 +08:00
用浏览器扩展写爬虫。

但是,但是,但是。你正常人只浏览不购买。风控系统会锁定你的。

所以你要解决的就是怎样伪装成人。
gamexg
2021-10-22 17:18:53 +08:00
@ospider #27 风险还是有的,
淘宝授权里面应该不允许机器人抓取,
然后突破淘宝反爬虫系统会涉及到入侵计算机系统罪。
aababc
2021-10-22 17:24:06 +08:00
大家不知道还记不记得有一个叫 巧达 的公司
jiayong2793
2021-10-22 17:49:35 +08:00
写爬虫已经进去几个了,你还敢?
find456789
2021-10-22 17:57:56 +08:00
10w 的数据不算大,我几年前爬过卖家信息,那时候 谷歌云服务可以免费领取,我开了大概 10 个机器, 爬了大概可能有 100w (具体记不清,也可能是几十万)

你如果只要详情(文字信息)+ 图片地址, 走默认渠道可能会有难度,因为他们的反爬比较变态, 建议你找一下他们的 api 接口, 速度会快很多

另外, 淘宝有个开放平台, open.taobao.com 申请一个 app,然后申请权限后,就可以拿到很多商品信息

如果最后,你还搞不定, 可以把你的需求和我详细说说(考虑到你说预算充足)
feiniu
2021-10-22 18:17:13 +08:00
需要买 代理+ 账号

现在淘宝没账号,寸步难行
feiniu
2021-10-22 18:17:40 +08:00
商品详情 现在风控很高
feiniu
2021-10-22 18:27:11 +08:00
@jeeyong 真大佬
xiaoluhi
2021-10-22 18:41:09 +08:00
@ospider 胖球数据据说就是阿里举报的,前段时间被端了的,爬的也是商品、价格、销量信息等等。
https://www.ixigua.com/7021106873096995358?wid_try=1
txx
2021-10-22 19:11:00 +08:00
商品详情有淘客的 API 啊...直接买 API 就行了...
jeeyong
2021-10-22 19:20:37 +08:00
@gamexg 破坏计算机信息系统罪 及 非法入侵计算机信息系统罪.
bybyte
2021-10-22 19:39:17 +08:00
日子越来越有判头了
jeeyong
2021-10-22 19:53:20 +08:00
我有社交牛逼症, 我再来多 BB 几句..
首先, 我没有任何业务是爬取淘宝的. 但是从技术角度做过验证, 发现可行. 仅此而已.
本文并未透露关于爬取淘宝的任何技术细节和技术方案, 旨在讨论人机识别技术.

淘宝在人机识别方面会更深入的做技术甄别, 通过发现更多的技术特征, 从而直接进行访问阻断或验证.
比如早期的时候, 他是我接触的相对较早去获取$_cdc 变量判断是否为爬虫的.
后来发展成为通过获取更多的特征, 来判断. 这应该是属于 v8 解析 js 的时候的引擎的特性吧? 我不太懂 js, 仅限于普通的应用层面. 我贴一部分代码, 看看做爬虫的时候, 你关注了多少.

var platform = 'iPhone'
var webdriver = false
var standalone = false
var maxTouchPoints = 5
var cookieEnabled = true
var productSub = 20030107
var product = "Gecko"
var vendor = "{vendor}"
var vendorSub = ""
var onLine = true
var hardwareConcurrency = undefined
var oscpu = undefined
var cpuClass = undefined
var doNotTrack = undefined
var getBattery = undefined
var storage = undefined
var systemLanguage = undefined
var permissions = ["geolocation", "notifications"]
var bluetooth = undefined
var standalone = undefined
var userAgent = "{userAgent}"
var shanghai = {{"longitude": 0, "latitude": 0}}
var zhongshan = {{"longitude": 0, "latitude": 0}}
var hangzhou = {{"longitude": 0, "latitude": 0}}

这些变量大部分是系统内置的变量, 在你加载页面的时候他就有了...
但是改变他的时候不能直接赋值, 这个 JS 大佬应该更清楚, 我只是知道...
需要通过 Object.defineProperty 方法去改变...

小朋友太闹了...我得哄娃去了..哈哈哈
jeeyong
2021-10-22 19:57:16 +08:00
@jeeyong 小朋友吃饭去了..
除此之外, 还可以通过 crx 插件及 js 的方式去替换掉显卡的特征..
但这些做法相对比较局限, 大规模爬取的时候还是很容易被识别出来...
相对来说, 淘宝有个好处是, 他发现你是人机, 他会要求你验证..
但是像百度, 他只是在后台默默的标记上本次访问无效...这个很难受的.
还有字节, 他是直接不给你内容, 抑或是使用蜜罐类的技术防止你爬取.
有些网站甚至发现你是爬虫后, 直接给你假的, 没有意义的内容...
我想转行...有大佬收留吗?哈哈哈
相比技术, 我也挺擅长销售和管理的...
markgor
2021-10-23 16:03:26 +08:00
@jeeyong 你是在说某程吗,之前研究过携某的反爬,发现他们会通过浏览器特性来判断爬虫,
一但判定为爬虫,会直接返回相对高的价格,甚至后来直接不管是不是爬虫,列表价直接返回浮动价,只有预定价才会返回真实价,前端就弹出恭喜你,价格降低 xxx 之类的。

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

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

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

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

© 2021 V2EX