node请求api,对方限制请求次数的如何解决?动态IP?
发布于 8 年前 作者 occultskyrong 8606 次浏览 来自 问答

需求: 根据条形码获取对应的商品信息,通过中国商品信息服务平台提供的http://search.anccnet.com/searchResult2.aspx?keyword=6914068019529进行数据爬取。 问题: 现在遇到一个问题就是这个服务器是根据IP(?)来限定单位时间内请求次数的(大概是1min 5次),数据量比较大,肯定不可能这么低频次的完成数据获取。 所以,如何解决这种限制请求次数的问题? 使用动态IP的话,参考过

nodejs通过代理(proxy)发送http请求(request)

解决方案中提出的“代理服务器”是自己搭建的?参见 代理服务器,所以是自己有多个ip的情况下才能完成??

因为网上有很多卖动态IP代理,但基本都是pptp的,未找到相关的解决方法,如何用pptp来完成request请求的转发?

爬虫程序遇到的些许问题,特来讨教 做爬虫需要大量ip 请问如何实现一个多 IP 分流代理系统

搜了很多个问答,但都没有具体的解决方案,是否有人可以提供个思路?

11 回复

这种一般都要申请人家的同意,给你一个 api key,类似 github 才行吧,不然就算你有方案了,人家的后台也可以相应的改。

@steambap

不可能吧,没听说过写爬虫的有人去申请“api key”。。。 都是模拟HttpClient。。。。 毕竟这些接口本身不是提供公用的,所以不太可能有“api key” 一说。。。。、

我之前就是去某个网站上花几块钱搞了几万个代理ip,就是质量不太行

试试大象或西刺代理

<p style=“text-align:right”><a href=“https://github.com/lumia2046/cnode”> — — 来自lumia2046-react-cnode</a></p>

<p style=“text-align:right”><a href=“https://github.com/lumia2046/cnode”> — — 来自lumia2046-react-cnode</a></p>

<p style=“text-align:right”><a href=“https://github.com/lumia2046/cnode”> — — 来自lumia2046-react-cnode</a></p>

@lumia2046 <p style=“text-align:right”><a href=“https://github.com/lumia2046/cnode”> — — 来自lumia2046-react-cnode</a></p>

@occultskyrong 爬虫不是会根据robots.txt来判断什么页面可以抓什么页面不能抓吗?人家网站既然做限制了,就是不想你请求那么多次呀

项目已上线,并提供小程序进行条码收集,暂不对外开放~~

提供两个参考的解决方案: 1、使用收费套餐接口,经考察 易源数据接口 https://www.showapi.com/api/lookPoint/66/22#price 极速数据接口 https://www.jisuapi.com/api/barcode2/ 这两个接口的数据准确性和相关性较好,而且性价比较高。。 非利益相关,自行选取。。也可以去百度api store进行搜索。

使用这种收费接口可以完成数据并发请求。在数据量不是特别大的要求下已足够,你自己要有个DB或者ES来存取相关已经获取过的条码数据。。不然来钱了。。

2、还有个就是我前文设想的通过动态IP切换来频繁请求官方接口 这里对“对方网站限制IP请求”的原因和意义不予讨论,只提供解决方案。 可以看一下这个,https://www.abuyun.com/ 同上,非利益相关,自行选择是否花费使用。

不花钱解决这个问题的方案。。应该比较麻烦,毕竟需要切换大量的IP来实现。。。

回到顶部