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

请教大佬们:我用 selemium 爬虫这个网站,打开网页就报错 403forbidden

  •  
  •   ChatGPTPRO · 2023-10-14 17:08:52 +08:00 · 2430 次点击
    这是一个创建于 441 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如题,大佬们

    https://moscow.online.lenta.com/

    这个网站,用 selemium 爬这个网站,driver.get 打开网页就报错 403forbidden

    有没有大佬教教小弟,感谢

    18 条回复    2023-10-15 12:13:04 +08:00
    youngce
        1
    youngce  
       2023-10-14 17:34:27 +08:00
    chagtgpt3.5 如是说道:

    当使用 Selenium 访问网站时遇到 403 错误(禁止访问)通常是因为网站检测到了你的请求不是来自一个正常的浏览器用户,而是来自一个自动化脚本或机器人。为了解决这个问题,你可以考虑以下几种方法:

    1. **使用合适的 User-Agent**:User-Agent 是 HTTP 请求头中的一部分,它描述了你所使用的浏览器和操作系统。有时候,网站会检查 User-Agent ,如果它看起来像是来自一个爬虫或机器人的话,就会拒绝访问。你可以设置 User-Agent 来模仿一个正常的浏览器请求。

    ```python
    from selenium import webdriver
    from selenium.webdriver.chrome.options import Options

    options = Options()
    options.add_argument("user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36")

    driver = webdriver.Chrome(chrome_options=options)
    ```

    2. **使用代理**:使用代理服务器可以隐藏你的真实 IP 地址,有时可以帮助绕过 IP 封锁或访问限制。请注意,不要违反网站的使用政策或法律法规。

    3. **减慢请求速度**:有些网站可能会检测到你的请求速度过快,从而认定你是机器人。你可以在 Selenium 中添加等待时间,模拟人类的浏览行为。

    ```python
    from selenium.webdriver.common.by import By
    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.support import expected_conditions as EC

    # 等待元素可见
    element = WebDriverWait(driver, 10).until(
    EC.presence_of_element_located((By.ID, "myElement"))
    )
    ```

    4. **使用 Selenium 的无头模式**:无头浏览器模式不会打开可见的浏览器窗口,这可能会降低被检测到的风险。

    ```python
    from selenium import webdriver

    options = webdriver.ChromeOptions()
    options.add_argument('--headless')
    driver = webdriver.Chrome(options=options)
    ```

    5. **遵守网站的使用政策**:最重要的是确保你的爬虫或机器人不会滥用网站,遵守网站的使用政策和 Robots.txt 文件中的规则。

    请注意,网站可以随时更改其反爬虫措施,所以你可能需要不断调整你的策略以应对这些变化。同时,确保你的爬取是合法的,不会侵犯版权或隐私等法律法规。
    ChatGPTPRO
        2
    ChatGPTPRO  
    OP
       2023-10-14 17:47:34 +08:00 via Android
    @youngce 感谢,但是其实我也问过 GPT 了,没啥用😂😂
    Rang666
        3
    Rang666  
       2023-10-14 19:12:19 +08:00 via iPhone
    应该就是反爬了,看看正常的请求再看看 selenium 的请求对比一下呗
    ChatGPTPRO
        4
    ChatGPTPRO  
    OP
       2023-10-14 19:15:37 +08:00
    @Rang666 反爬有方式解决吗 大佬
    zzNucker
        5
    zzNucker  
       2023-10-14 19:40:42 +08:00
    @youngce 千万不要帖 gpt 回答的内容,你是想被封号吗
    ChatGPTPRO
        6
    ChatGPTPRO  
    OP
       2023-10-14 19:46:05 +08:00
    @zzNucker 大佬 这个论坛不给贴吗?
    zzNucker
        7
    zzNucker  
       2023-10-14 19:48:03 +08:00
    @ChatGPTPRO 不要贴 站长说过的
    ChatGPTPRO
        8
    ChatGPTPRO  
    OP
       2023-10-14 19:48:37 +08:00
    @zzNucker 好的大佬 这个反爬咋弄你会吗
    zzNucker
        9
    zzNucker  
       2023-10-14 19:51:11 +08:00
    一个个 header 对比,还不行就是 js 里加了探测了
    ShineyWang
        10
    ShineyWang  
       2023-10-14 20:11:25 +08:00 via Android
    copy 请求的 curl
    导入到 postman 里面
    然后一个一个勾 header 就知道服务端判断哪些条件了

    测试成功后再导出成你要的语言代码即可
    chesha1
        11
    chesha1  
       2023-10-14 21:06:30 +08:00
    我之前也遇到过类似问题,我已经把 chrome f12 生成的请求头复制成 curl ,所有 headers 全都写到爬虫里了,结果还是 403 ,不清楚什么原因
    testonly
        12
    testonly  
       2023-10-14 21:38:14 +08:00
    对方直接侦查到你使用 selemium 吧。据我所知有些大站是可以做到的,这些站有没技术做到我不清楚了。

    @zzNucker 现在 GOOGLE 忙着反 AI ,大量 AI 内容可能会被 GOOGLE 惩罚,不知道是否是这原因。
    mmdsun
        13
    mmdsun  
       2023-10-14 22:00:50 +08:00
    搜关键词:selemium 隐藏特征。记得有个开源脚本引入项目 selemium 特征就被隐藏没有了。
    among
        14
    among  
       2023-10-14 22:05:56 +08:00
    ChicC
        15
    ChicC  
       2023-10-14 23:30:56 +08:00
    window.navigator.webdriver
    shalingye
        16
    shalingye  
       2023-10-15 00:31:28 +08:00 via Android
    @youngce 前几天有个 16 年的号和你一模一样,然后有人叫了站长,号就没了,尽管楼下都为他说情。
    MeteorVIP
        17
    MeteorVIP  
       2023-10-15 08:11:43 +08:00 via iPhone
    你这个厉害,我只会用 uibot 获取网页上需要的内容
    flyqie
        18
    flyqie  
       2023-10-15 12:13:04 +08:00 via Android
    @youngce #1

    以前有帮你百度,现在有帮你 GPT 。。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2653 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 12:11 · PVG 20:11 · LAX 04:11 · JFK 07:11
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.