用 nodejs 爬网站,一爬多就失败。 有什么办法可以避免被反爬虫机制制约导致爬取失败?
1
herozzm 2023-07-09 13:15:56 +08:00
ip 池,不同的 header
|
2
mineralsalt 2023-07-09 13:19:03 +08:00
用 ip 池呗, 除此之外没有办法了, 但是这个很贵, 质量尚可的代理一天得二十多块, 我是配合自建 suqid 代理+购买 HTTP 代理减低费用的, 在家里,公司,云服务器都搭建了 squid
|
3
cherbim 2023-07-09 13:22:26 +08:00 via Android
使用代理 IP 爬
|
4
0o0O0o0O0o 2023-07-09 13:30:10 +08:00 via iPhone
反反爬一般都是具体问题具体分析,几乎不可能有通解。
|
5
ChicC 2023-07-09 14:48:59 +08:00
频率,IP,鉴权
|
6
jack4536251 OP @mineralsalt http 代理怎么买呢
|
7
mineralsalt 2023-07-09 15:45:03 +08:00
@jack4536251 #6 有很多站, 我当初项目启动的时候花了几百块钱测试了各家站点, 便宜的贵的都试过, 首先免费的直接排除都是垃圾, 收费的大部分站点的质量都不好, 最终我选择了站大爷和蜻蜓的短效优质代理, 自己维护好代理池, 还是相当不错的, 站大爷我的动态可用代理数量可以维持在 130 个左右, 蜻蜓的 70 个左右
|
8
mineralsalt 2023-07-09 15:46:51 +08:00
因为我的项目实时性要求特别高, 收费的代理也不稳定, 经常请求失败和请求超时, 所以自建 squid 是我的主力 ip 池, 而且也不用额外花钱, 用的家庭宽带和现有的服务器资源
|
9
pppguest3962 2023-07-09 16:08:46 +08:00
@mineralsalt 我也想要池,也要实时性,最怕是花了钱买了大 Cache ,还要在本地做准确率不高的判断是否实时数据
|
10
wangyongbo 2023-07-09 16:21:03 +08:00
https://www.webshare.io/ 2.99 美元 100 个 IP ,250G 流量。
https://smartproxy.com/ 这个 10 美元 100 个 IP ,50GB 流量。 我们用了这两个,主要爬 国外的网站。 |
11
mineralsalt 2023-07-09 16:26:29 +08:00
@pppguest3962 #9 所以就得自己设计好爬虫的算法啊, 要智能分配 ip, 把爬取目标划分几个级别, 最重要的用最优质的 ip, HTTP 代理的稳定性是不可控的, 这个是没办法的
|
12
jack4536251 OP @mineralsalt 怎么自建代理啊
|
13
mineralsalt 2023-07-09 17:01:33 +08:00
@jack4536251 #12 自己搜 squid, 非常简单, centos 之类的系统一行命令就装好了
|
14
jack4536251 OP @herozzm 这个 ip 是随便一个 ip 就行吗,比如我知道 www.baidu.com 这个网址的 ip ,我能拿这个 ip 当代理池的 IP 吗
|
15
jack4536251 OP @cherbim 这个 ip 是随便一个 ip 就行吗,比如我知道 www.baidu.com 这个网址的 ip ,我能拿这个 ip 当代理池的 IP 吗
|
16
jack4536251 OP @mineralsalt 这个 ip 是随便一个 ip 就行吗,比如我知道 www.baidu.com 这个网址的 ip ,我能拿这个 ip 当代理池的 IP 吗
|
17
herozzm 2023-07-10 08:43:00 +08:00 via iPhone
你用不了 baidu 的 ip
@jack4536251 |