拼多多数据采集

-------------------------分割线------------------------------------------------

2020.12.09更新
因为拼多多反爬升级,之前的方案已废弃。若有新的方案,会在博客这边更新消息o(╥﹏╥)o

-----------------------------------------------------------------------------------

千辛万苦,总算把新的拼多多采集方案弄出来了,回想起几个月的尝试和摸索,真心觉得不容易。

前期尝试的方案包括但不限于:

1、H5,PDDAccessToken+anticontent


这个方案很明显,需要处理两个问题:

1)账号问题

你采集的量越大,需要的账号数就越多。因为采集到一定的数量,拼多多会对你的账号进行标记,标记之后,会进行投毒或验证码拦截。

2)anticontent参数破解

网络上有很多文章详细聊到,这里就不赘述了。

方案最后还是被我放弃了,因为要满足公司的业务需求,需要用到太多账号。

2、APP,accessToken

这里的accessToken是通过APP登录来换取的,包括手机号,微信,QQ号登录。

通过调用API接口进行,APP端的请求量是要比H5端要多的。但和H5一样,还是避免不了账号因为请求量过高而被限制的问题。

方案依旧被pass掉了。

3、APP,Etag+4G IP代理池

大家仔细观察拼多多的APP,在你刚开始使用APP的时候,你是不需要进行登录就能浏览商品的详情页的。只是这些访问动作如果稍加频繁,就会被拼多多进行登录拦截。经过测试,只要是新设备+新IP,就能不被拼多多限制(在一定访问次数内)。

设想,如果你有足够多的设备+IP,是不是就能达到无账号采集数据的目的。

这里提一下IP的问题。用4G 代理IP是因为IP质量,不容易被拼多多拦截。市面上的大部分代理,用来采集基本没戏。

经过攻关,拼多多对某一个设备的识别依赖于Etag这个参数,如果能批量生成这个参数,那么采集就有希望了。

可惜的是,在攻克了Etag批量生成的问题之后,发现这些生成的Etag是获取不了数据的。想来应该是Etag的生成方式有纰漏,被拼多多识别出了。

这个方案花费的时间最多,但最后还是放弃了。

在攻克拼多多采集的过程中,尝试的方法其实远不止上面的这几种,但回过头来看,要想大批量的持续采集,必须避免两个问题:

A.账号登录
B.代理IP限制

账号登录,那请求头带上登录的token,拼多多在后端就太容易对你账号进行风控了。所以,无账号方案是必须的。

代理IP市面上有大量的第三方服务方提供,如果不能使用这些IP,自行搭建代理池,搭建和维护的成本就会挺高,而且还不能保证质量。


当然最后经过攻关,我自己还是找到了解决方案,这里给大家透露,方案的采集端是H5,无需登录,可以结合代理IP(芝麻,极光,阿布云 etc.)进行大量采集,采集成本还是比较低的。
我自己测试的,一天采集50w的商品详情,代理消耗的成本大约在30元左右,还算是可以接受的范围。

以上,谢谢自己的坚持,也谢谢同行路上好基友们给的支持。

你可能感兴趣的:(python,网络)