V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
jack4536251
V2EX  ›  问与答

有爬虫大佬吗?请教下

  •  
  •   jack4536251 · 2023-07-09 13:14:08 +08:00 · 1692 次点击
    这是一个创建于 505 天前的主题,其中的信息可能已经有所发展或是发生改变。

    用 nodejs 爬网站,一爬多就失败。 有什么办法可以避免被反爬虫机制制约导致爬取失败?

    17 条回复    2023-07-10 08:43:00 +08:00
    herozzm
        1
    herozzm  
       2023-07-09 13:15:56 +08:00
    ip 池,不同的 header
    mineralsalt
        2
    mineralsalt  
       2023-07-09 13:19:03 +08:00
    用 ip 池呗, 除此之外没有办法了, 但是这个很贵, 质量尚可的代理一天得二十多块, 我是配合自建 suqid 代理+购买 HTTP 代理减低费用的, 在家里,公司,云服务器都搭建了 squid
    cherbim
        3
    cherbim  
       2023-07-09 13:22:26 +08:00 via Android
    使用代理 IP 爬
    0o0O0o0O0o
        4
    0o0O0o0O0o  
       2023-07-09 13:30:10 +08:00 via iPhone
    反反爬一般都是具体问题具体分析,几乎不可能有通解。
    ChicC
        5
    ChicC  
       2023-07-09 14:48:59 +08:00
    频率,IP,鉴权
    jack4536251
        6
    jack4536251  
    OP
       2023-07-09 15:41:11 +08:00 via Android
    @mineralsalt http 代理怎么买呢
    mineralsalt
        7
    mineralsalt  
       2023-07-09 15:45:03 +08:00
    @jack4536251 #6 有很多站, 我当初项目启动的时候花了几百块钱测试了各家站点, 便宜的贵的都试过, 首先免费的直接排除都是垃圾, 收费的大部分站点的质量都不好, 最终我选择了站大爷和蜻蜓的短效优质代理, 自己维护好代理池, 还是相当不错的, 站大爷我的动态可用代理数量可以维持在 130 个左右, 蜻蜓的 70 个左右
    mineralsalt
        8
    mineralsalt  
       2023-07-09 15:46:51 +08:00
    因为我的项目实时性要求特别高, 收费的代理也不稳定, 经常请求失败和请求超时, 所以自建 squid 是我的主力 ip 池, 而且也不用额外花钱, 用的家庭宽带和现有的服务器资源
    pppguest3962
        9
    pppguest3962  
       2023-07-09 16:08:46 +08:00
    @mineralsalt 我也想要池,也要实时性,最怕是花了钱买了大 Cache ,还要在本地做准确率不高的判断是否实时数据
    wangyongbo
        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 流量。

    我们用了这两个,主要爬 国外的网站。
    mineralsalt
        11
    mineralsalt  
       2023-07-09 16:26:29 +08:00
    @pppguest3962 #9 所以就得自己设计好爬虫的算法啊, 要智能分配 ip, 把爬取目标划分几个级别, 最重要的用最优质的 ip, HTTP 代理的稳定性是不可控的, 这个是没办法的
    jack4536251
        12
    jack4536251  
    OP
       2023-07-09 16:42:14 +08:00 via Android
    @mineralsalt 怎么自建代理啊
    mineralsalt
        13
    mineralsalt  
       2023-07-09 17:01:33 +08:00
    @jack4536251 #12 自己搜 squid, 非常简单, centos 之类的系统一行命令就装好了
    jack4536251
        14
    jack4536251  
    OP
       2023-07-10 00:00:11 +08:00
    @herozzm 这个 ip 是随便一个 ip 就行吗,比如我知道 www.baidu.com 这个网址的 ip ,我能拿这个 ip 当代理池的 IP 吗
    jack4536251
        15
    jack4536251  
    OP
       2023-07-10 00:00:43 +08:00
    @cherbim 这个 ip 是随便一个 ip 就行吗,比如我知道 www.baidu.com 这个网址的 ip ,我能拿这个 ip 当代理池的 IP 吗
    jack4536251
        16
    jack4536251  
    OP
       2023-07-10 00:01:20 +08:00
    @mineralsalt 这个 ip 是随便一个 ip 就行吗,比如我知道 www.baidu.com 这个网址的 ip ,我能拿这个 ip 当代理池的 IP 吗
    herozzm
        17
    herozzm  
       2023-07-10 08:43:00 +08:00 via iPhone
    你用不了 baidu 的 ip
    @jack4536251
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1046 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 19:20 · PVG 03:20 · LAX 11:20 · JFK 14:20
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.