使用BeautifulSoup解析IONOS停放域名无内容问题求助
解决思路
- 处理元刷新跳转:IONOS停放页面的元标签通常包含跳转目标,先解析
<meta http-equiv="refresh">的content属性,拆分出实际跳转URL,直接请求这个地址。比如从content="3; url=https://xxx"里提取出https://xxx。 - 用浏览器渲染工具抓动态内容:这类停放页面大多依赖JavaScript加载内容,requests+BeautifulSoup只能拿到静态源码。试试
selenium或playwright模拟浏览器加载,等页面渲染完成后再取HTML:from selenium import webdriver from bs4 import BeautifulSoup driver = webdriver.Chrome() driver.get("https://epaviste-gratuit-paris.com") # 给页面留加载时间 driver.implicitly_wait(10) html = driver.page_source soup = BeautifulSoup(html, "html.parser") driver.quit() - 补全请求头字段:除了User-Agent,加上
Accept、Accept-Language、Upgrade-Insecure-Requests等浏览器常用头,尽量还原真实请求:headers = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "Accept-Language": "zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3", "Upgrade-Insecure-Requests": "1" } - 排查反爬限制:如果请求频繁可能被IP限制,试试添加浏览器复制的Cookie,或者设置请求间隔。也可以用
curl在命令行测试:curl -A "Mozilla/5.0..." https://epaviste-gratuit-paris.com,对比返回内容和Python请求的差异,判断是否是请求头或IP的问题。
内容的提问来源于stack exchange,提问作者Patrick Steinhoff
相关产品推荐
相关产品推荐

