当前位置: 首页 > wzjs >正文

常州网站制作案例广西机场建设公司

常州网站制作案例,广西机场建设公司,学校网站设计方案模板,公司用的网站用个人备案可以吗我在使用 Selenium 爬取网站的时候,直接get url ,却立马闪退,遇到了获取网络响应直接被退出的问题。 这通常是由于 反爬机制、浏览器检测 或 网络限制 导致的。 以下是 完整排查与解决方案: 1. 检查常见原因 问题类型典型表现可…

我在使用 Selenium 爬取网站的时候,直接get url ,却立马闪退,遇到了获取网络响应直接被退出的问题。

这通常是由于 反爬机制浏览器检测网络限制 导致的。

以下是 完整排查与解决方案


1. 检查常见原因

问题类型典型表现可能原因
浏览器检测页面加载后立即关闭被检测到自动化工具(如 webdriver 属性)
反爬机制返回 403/404 或跳转验证码请求头、IP 或行为异常
网络限制TimeoutException 或无响应代理问题、DNS 污染、Cloudflare 拦截
页面重定向获取不到目标数据网站强制跳转(如登录页)

2. 解决方案

✅ 方案 1:绕过浏览器检测
from selenium import webdriver
from selenium.webdriver.chrome.options import Optionsoptions = Options()
options.add_argument("--disable-blink-features=AutomationControlled")
options.add_experimental_option("excludeSwitches", ["enable-automation"])
options.add_experimental_option("useAutomationExtension", False)driver = webdriver.Chrome(options=options)# 修改 navigator.webdriver 属性
driver.execute_cdp_cmd("Page.addScriptToEvaluateOnNewDocument", {"source": """Object.defineProperty(navigator, 'webdriver', {get: () => undefined})"""
})
✅ 方案 2:使用 undetected-chromedriver(推荐)
import undetected_chromedriver as ucdriver = uc.Chrome(version_main=114,  # 匹配你的 Chrome 版本headless=False,    # 无头模式容易被检测use_subprocess=True
)
driver.get("https://目标网站.com")
✅ 方案 3:模拟人类行为(降低检测概率)
import time
import random
from selenium.webdriver.common.action_chains import ActionChains# 随机延迟(避免固定时间间隔)
time.sleep(random.uniform(1, 3))# 模拟鼠标移动
actions = ActionChains(driver)
actions.move_by_offset(random.randint(10, 50), random.randint(10, 50))
actions.perform()
✅ 方案 4:处理 Cloudflare / 反爬验证
# 方法 1:更换 User-Agent
options.add_argument("user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36")# 方法 2:使用代理 IP
options.add_argument("--proxy-server=http://代理IP:端口")# 方法 3:手动处理验证码(如 2Captcha 服务)
✅ 方案 5:检查网络问题
from selenium.common.exceptions import TimeoutExceptiontry:driver.set_page_load_timeout(30)  # 设置超时时间driver.get("https://目标网站.com")
except TimeoutException:print("页面加载超时,可能是网络问题或网站拦截")driver.quit()

3. 高级调试技巧

📌 检查网络请求(Chrome DevTools)
from selenium.webdriver.common.desired_capabilities import DesiredCapabilitiescaps = DesiredCapabilities.CHROME
caps['goog:loggingPrefs'] = {'performance': 'ALL'}  # 启用网络日志
driver = webdriver.Chrome(desired_capabilities=caps)# 获取网络日志
logs = driver.get_log('performance')
for log in logs:print(log)
📌 使用 selenium-wire 捕获 HTTP 请求
from seleniumwire import webdriverdriver = webdriver.Chrome()
driver.get("https://目标网站.com")# 查看所有请求
for request in driver.requests:if request.response:print(request.url, request.response.status_code)

4. 终极解决方案

如果仍然被拦截,可以:

  1. 更换 IP(使用住宅代理,如 Luminati)
  2. 降低爬取频率(增加随机延迟)
  3. 改用 Puppeteer/Playwright(更接近真实浏览器)
  4. 模拟登录 Cookie(避免被识别为新会话)

总结

问题解决方案
浏览器检测undetected-chromedriver + 修改 webdriver 属性
反爬拦截更换 User-Agent + 代理 IP
网络超时增加 set_page_load_timeout
验证码使用 2Captcha 或手动处理

以上是一些解决方法,我在爬取网站的时候,遇到网站闪退,很有可能是被该网址“封号”了,这个是跟登录账号相关的,或者跟响应方式有关。

如果是账号问题,可能是这个账号登录太多次,导致被拉黑

如果是响应方式的问题,可能一些网址要通过其他方式打开,而不能直接连接这个网址,例如:

html 有这样的元素

onclick="searchlog

说明后面接着的网址是不能直接去get url的,要点击才可以,那么这种就只能模拟点击的方法才能获取url的响应了。
具体的做法可以参考:
【Python】Selenium切换网页的标签页的写法(全!!!)

http://www.dtcms.com/wzjs/816545.html

相关文章:

  • 哪些网站会盗取中国互联网网站性能
  • 网站建设公司费用网页设计网站名字
  • 公司网站设计图响应式网站建设流程
  • 上海外贸seo推广sem和seo是什么职业
  • qq空间个人网站企业网站的推广方式和手段有哪些
  • 做游戏网站的目地微信小程序超市平台
  • 电子政务网站建设流程wordpress新版编辑器开发
  • 怎么给自己的网站做扫描码黑龙江网络推广好做吗
  • 有网站教做水电资料吗做3d图的网站
  • 做ppt软件怎么下载网站如何免费建设一个网站
  • 专业做网文的网站好网站细节
  • 词条有哪些网站可以做溧阳网页设计
  • 有哪些可以免费做视频的网站学软件技术出来干什么
  • 建设我们的网站wordpress远程图片不能访问
  • 网站设计与网站制作看网红直播做爰的网站
  • 漂亮的手机网站模板下载东营市建设监理协会网站
  • 怎样利用网站做推广的方法怎么做各大视频网站的会员代理
  • 网站制作 牛商网 岳阳 公司wordpress 酒店模板
  • 做淘客网站怎么样h5开发和前端开发区别
  • 业务员自己掏钱做网站可以吗已经做好的网站怎么维护
  • 浙江省建设监理协会官方网站wordpress增加用户权限
  • diy电子商城网站创建网站域名
  • 酒业为什么做网站前端和做网站
  • 微网站如何做微信支付宝支付接口网站的页面大小
  • 德阳哪里有做网站的专业建设思路与措施
  • 玄武网站建设建筑人才网官方
  • 如何搭建一个公司网站做网站的工资高
  • 怎么做监控网站关于域名和主机论坛的网站
  • 免费的微网站平面广告设计培训
  • 推广企业网站域名网络营销方法分析