要爬取动态加载的页面,可以使用Selenium库来模拟浏览器行为,以便获取完整的页面内容。以下是使用Python和Selenium库来实现的示例代码:

首先,确保已经安装了Selenium库和对应的浏览器驱动(例如Chrome驱动)。

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

# 设置浏览器驱动路径
driver_path = "./chromedriver"

# 创建浏览器实例
driver = webdriver.Chrome(executable_path=driver_path)

# 打开携程评论页面
url = "https://you.ctrip.com/sight/dayi3130/71986.html"
driver.get(url)

# 等待评论加载完成
wait = WebDriverWait(driver, 10)
wait.until(EC.presence_of_element_located((By.CLASS_NAME, "comment_ctrip")))

# 获取所有评论
comments = driver.find_elements_by_class_name("comment_ctrip")

# 打印评论内容
for comment in comments:
    print(comment.text)

# 关闭浏览器
driver.quit()

这段代码使用Chrome浏览器驱动打开指定的携程评论页面,并等待评论加载完成。然后,通过定位评论元素的class name,获取所有评论内容,并打印出来。

请注意,这段代码仅仅是获取了当前页面的评论内容,如果要获取更多评论,需要模拟翻页操作,不断加载后续评论,并将其加入到comments列表中。

另外,要确保使用的浏览器驱动版本与浏览器版本相匹配,以免出现兼容性问题


原文地址: https://www.cveoy.top/t/topic/hDxU 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录