You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Selenium爬取酒店评论无200响应且BeautifulSoup解析报AttributeError

问题修复方案

错误根因

  • webdriver的get()方法没有返回值,执行后仅将页面内容加载到webdriver实例本身,你赋值的code变量实际为None,自然不存在content属性,也不可能等于requests库的响应对象格式
  • 你混用了requests库和Selenium的API逻辑,二者的页面获取、状态判断方式完全不同

修复后可运行代码

!pip install selenium
from selenium import webdriver
from bs4 import BeautifulSoup
import pandas as pd
# 安装chromium及驱动(仅Colab/linux环境需要执行以下3行,本地Windows/Mac环境可跳过)
!apt-get update
!apt install chromium-chromedriver
!cp /usr/lib/chromium-browser/chromedriver /usr/bin

# 配置无头浏览器参数
options = webdriver.ChromeOptions()
options.add_argument('--headless')
options.add_argument('--no-sandbox')
options.add_argument('--disable-dev-shm-usage')
# 初始化webdriver
wd = webdriver.Chrome('chromedriver',options=options)

# 访问目标页面
wd.get('https://www.goibibo.com/hotels/highland-park-hotel-in-trivandrum-1383427384655815037/?hquery={%22ci%22:%2220211209%22,%22co%22:%2220211210%22,%22r%22:%221-2-0%22,%22ibp%22:%22v15%22}&hmd=766931490eb7863d2f38f56c6185a1308de782c89dfeeea59d262b827ca15441bf50472cbfdc1ee84aeed8af756809a2e89cfd6eaea0fa308c1ca839e8c313d016ac0f5948658353cf30f1cd83050fd8e6adb2e55f2a5470cadeb0c28b7becc92ac44d81966b82408effde826d40fbff47525e09b5f145e321fe6d104e12933c066323798e33a911e0cbed7312fc1634f8f92fe502c8602556c9a02f34c047d04ff1400c995799156776c1a04e218d6486493edad5b0f7e51a5ea25f5f1cb4f5ed497ee9368137f6ec73b3b1166ee7c1a885920b90c98542e0270b4fa9004005cfe87a4d1efeaedc8e33a848f73345f09bec19153e8bf625cc7f9216e692a1bcc313e7f13a7fc091328b1fb43598bd236994fdc988ab35e70cf3a5d1856c0b0fa9794b23a1a958a5937ac6d258d121a75b7ce9fc70b9a820af43a8e9a3f279be65b5c6fbfff2ba20bfb0f3e3ee425f0b930bf671c50878a540c6a9003b197622b6ab22ae39e07b5174cb12bebbcd2a132bb8570e01b9e253c1bd83cb292de97a&cc=IN&reviewType=gi&vcid=3877384277955108166&srpFilters={%22type%22:[%22Hotel%22]}')

# 检查页面是否加载成功可通过页面标题判断,无需对比requests的响应格式
print(wd.title)

# 正确获取页面源码传给BeautifulSoup
soup = BeautifulSoup(wd.page_source,'html.parser') 

# 操作完成后关闭webdriver释放资源
wd.quit()

补充说明

  • 如果要处理翻页逻辑,可通过webdriver模拟点击下一页按钮,每次点击完成后等待页面加载,再调用wd.page_source提取当页内容即可
  • 要避免元素未加载就提取内容的问题,可搭配Selenium的显式等待WebDriverWait使用,稳定性更高

内容的提问来源于stack exchange,提问作者ankeet jena

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 13:15:04