有些网站使用 JavaScript 加载数据,requests
无法直接获取,需要模拟浏览器。
1. 安装 Selenium
pip install selenium
并下载对应浏览器驱动(如 ChromeDriver)。
2. 示例代码
from selenium import webdriver
from selenium.webdriver.common.by import By
driver = webdriver.Chrome()
driver.get("https://www.taobao.com")
element = driver.find_element(By.ID, "q")
element.send_keys("Python书籍")
element.submit()
items = driver.find_elements(By.CSS_SELECTOR, ".item-title")
for i in items:
print(i.text)
driver.quit()
3. 无头模式
options = webdriver.ChromeOptions()
options.add_argument("--headless")
driver = webdriver.Chrome(options=options)
总结
Selenium 适合处理 动态加载网页 或需要模拟用户行为的场景。但缺点是性能较低,不适合大规模爬取。