V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
xoxo419
V2EX  ›  程序员

第一天玩爬虫就遇到 418 恼火 -______-------

  •  
  •   xoxo419 · 119 天前 · 3566 次点击
    这是一个创建于 119 天前的主题,其中的信息可能已经有所发展或是发生改变。

    目标地址: https://search.shopping.naver.com/search/category?adQuery&brand=188869&catId=50000629

    分析过程

    step1: 国内电信,不用任何代理或 vpn 直接用浏览访问就出现 418 ,初步确定是这个站点封禁国内的。(不知道移动和联通是否也这样)

    step2: 启动 vpn 访问用浏览器访问,打开页面正常。

    接下来 curl 的奇怪问题 操作系统是: macos-14.5

    确定了 curl 终端请求都是会经过代理的

    curl 'https://search.shopping.naver.com/search/category?catId=50000630'

    尝试 1:在终端:macos-curl 8.6.0 请求返回的是 418

    尝试 2: 用 docker-debian-curl 7.52.1 请求返回 200 却是可以成功的

    尝试 3: 用 docker-debian-curl 7.88.1 请求返回的是 418

    python 和 scrapy 的奇怪问题

    确定了请求都是会经过代理的

    Python 3.9.6 Scrapy 2.8.0

    cookies = {
        'NACT': '1',
        'NAC': 'bupOBQQrA6vz',
        'NNB': 'HTF6RRY7SDCGM',
        'BUC': 'fHVI0Qf4gDQah4m9TkLBxmg7BIZvwdowShJv6ZPLiG8=',
        'OEP_BUCKET_ID': '1',
        'SHP_BUCKET_ID': '9'
    }
    
    headers = {
        # 'cookie': 'NACT=1; NAC=bupOBQQrA6vz; NNB=HTF6RRY7SDCGM; BUC=fHVI0Qf4gDQah4m9TkLBxmg7BIZvwdowShJv6ZPLiG8=; OEP_BUCKET_ID=1; SHP_BUCKET_ID=9',
        'sec-ch-ua': '"Not)A;Brand";v="99", "Microsoft Edge";v="127", "Chromium";v="127"',
        'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36 Edg/127.0.0.0'
    }
    
    url = 'https://search.shopping.naver.com/search/category?catId=50000629'
    
    requests.get(url, headers=headers, cookies=cookies)
    

    尝试 python 请求:返回是 200 正常

    尝试 scrapy 请求:返回是 418 失败

    5 条回复    2024-08-26 11:14:41 +08:00
    xiaoriri666
        1
    xiaoriri666  
       119 天前   ❤️ 2
    多半是检测了 tls 指纹,尝试用 tls-client 这个 python 库在请求试试
    Puteulanus
        2
    Puteulanus  
       119 天前   ❤️ 1
    我这儿是软路由,浏览器可以,复制浏览器请求为 curl 命令导入 paw 可以,但直接执行 curl 命令就是 418 ,感觉应该是检测了 tls 指纹这种的了
    xoxo419
        4
    xoxo419  
    OP
       119 天前
    @xiaoriri666 #1 😃 tls-client 用了这个马上就好了~
    X3en
        5
    X3en  
       118 天前
    学到新知识了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2594 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 06:08 · PVG 14:08 · LAX 22:08 · JFK 01:08
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.