如题,大佬们
https://moscow.online.lenta.com/
这个网站,用 selemium 爬这个网站,driver.get 打开网页就报错 403forbidden
有没有大佬教教小弟,感谢
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 文件中的规则。 请注意,网站可以随时更改其反爬虫措施,所以你可能需要不断调整你的策略以应对这些变化。同时,确保你的爬取是合法的,不会侵犯版权或隐私等法律法规。 |
2
ChatGPTPRO OP @youngce 感谢,但是其实我也问过 GPT 了,没啥用😂😂
|
3
Rang666 2023-10-14 19:12:19 +08:00 via iPhone
应该就是反爬了,看看正常的请求再看看 selenium 的请求对比一下呗
|
4
ChatGPTPRO OP @Rang666 反爬有方式解决吗 大佬
|
6
ChatGPTPRO OP @zzNucker 大佬 这个论坛不给贴吗?
|
7
zzNucker 2023-10-14 19:48:03 +08:00
@ChatGPTPRO 不要贴 站长说过的
|
8
ChatGPTPRO OP @zzNucker 好的大佬 这个反爬咋弄你会吗
|
9
zzNucker 2023-10-14 19:51:11 +08:00
一个个 header 对比,还不行就是 js 里加了探测了
|
10
ShineyWang 2023-10-14 20:11:25 +08:00 via Android
copy 请求的 curl
导入到 postman 里面 然后一个一个勾 header 就知道服务端判断哪些条件了 测试成功后再导出成你要的语言代码即可 |
11
chesha1 2023-10-14 21:06:30 +08:00
我之前也遇到过类似问题,我已经把 chrome f12 生成的请求头复制成 curl ,所有 headers 全都写到爬虫里了,结果还是 403 ,不清楚什么原因
|
12
testonly 2023-10-14 21:38:14 +08:00
对方直接侦查到你使用 selemium 吧。据我所知有些大站是可以做到的,这些站有没技术做到我不清楚了。
@zzNucker 现在 GOOGLE 忙着反 AI ,大量 AI 内容可能会被 GOOGLE 惩罚,不知道是否是这原因。 |
13
mmdsun 2023-10-14 22:00:50 +08:00
搜关键词:selemium 隐藏特征。记得有个开源脚本引入项目 selemium 特征就被隐藏没有了。
|
14
among 2023-10-14 22:05:56 +08:00
|
15
ChicC 2023-10-14 23:30:56 +08:00
window.navigator.webdriver
|
16
shalingye 2023-10-15 00:31:28 +08:00 via Android
@youngce 前几天有个 16 年的号和你一模一样,然后有人叫了站长,号就没了,尽管楼下都为他说情。
|
17
MeteorVIP 2023-10-15 08:11:43 +08:00 via iPhone
你这个厉害,我只会用 uibot 获取网页上需要的内容
|