使用Selenium抓取百度新闻热搜榜实用指南 🎯

本页为移动优先响应式布局,深色阅读体验。

一、环境准备及初始化 🛠️

from selenium import webdriver
from selenium.webdriver.common.by import By

引入Selenium及相关依赖。首次使用时请确保已正确安装ChromeDriver 并配置到 PATH 环境变量!

driver = webdriver.Chrome() 🚗 初始化WebDriver示例,推荐使用Chrome浏览器。

二、采集流程分步骤详解📋

  1. 打开目标页面 driver.get("https://news.baidu.com/")
    访问 百度新闻 页面。
  2. 等待页面加载
    使用 time.sleep(3),可换为更优雅的 显式等待 实现。
  3. 定位热搜榜区域 hot_search_section = driver.find_element ...
    热搜区域 XPath/CSS选择器 需依据实际页面调整。建议使用浏览器开发者工具核查。
  4. 获取并遍历热搜内容
    hot_search_items = ...find_elements...
    取出所有热搜条目,并按 title 提取标题。
  5. 存储与展示结果
    将排名和标题以 (index, title) 形式保存,并逐条打印: print(f"{rank}. {title}")

三、异常处理与退出 ⚠️

遍历中如遇结构变化,可catch异常提示:
print(f"Error extracting item {index}: {e}")

最后,无论采集是否成功,务必关闭浏览器:
driver.quit() 🔚

四、实用小建议🤔

  • 若页面结构变化,XPathCSS Selector 需及时调整,否则采集会失败。
  • 切勿频繁高并发爬取,避免IP被封禁。建议添加适当随机延迟。
  • 如需保存,请将hot_search_data写入excel或txt,便于后续分析整理。