DrissionPage自动爬取代码
时间: 2025-07-01 19:03:45 浏览: 11
`DrissionPage` 是一个基于 Python 的网页自动化库,结合了 `requests` 和 `Selenium` 的优点,既能进行浏览器控制,也能进行页面解析和数据提取,非常适合用于自动爬取网页内容。
---
### ✅ 示例:使用 DrissionPage 自动爬取京东商品信息
#### 安装:
```bash
pip install DrissionPage
```
#### 示例代码:
```python
from DrissionPage import ChromiumPage
import time
# 初始化浏览器对象
dp = ChromiumPage()
# 打开目标网页
dp.get('https://item.jd.com/100012345678.html')
# 等待页面加载(可根据实际需要调整)
time.sleep(3)
# 获取商品名称
product_name = dp.ele('tag:h1@class:sku-name').text
print(f"商品名称:{product_name}")
# 获取价格
price = dp.ele('xpath://span[@class="p-price"]').text
print(f"价格:{price}")
# 获取评论数量
comment_count = dp.ele('xpath://a[@id="detailComment_publish"]').text
print(f"评论数:{comment_count}")
# 关闭浏览器
dp.close()
```
---
### ✅ 示例:自动翻页并采集多页数据
```python
from DrissionPage import ChromiumPage
import time
dp = ChromiumPage()
base_url = 'https://search.jd.com/Search?keyword=手机&page={}'
for i in range(1, 6): # 爬取前5页
url = base_url.format(i)
print(f"正在访问第{i}页:{url}")
dp.get(url)
time.sleep(2)
# 获取所有商品项
items = dp.eles('xpath://li[@class="gl-item"]')
for item in items:
title = item.ele('xpath:.//div[@class="p-name"]/a/em').text
price = item.ele('xpath:.//div[@class="p-price"]').text
print(f"商品名:{title},价格:{price}")
```
---
### 🧠 小贴士:
- **无需显式等待**:`DrissionPage` 支持智能等待元素出现。
- **支持链式选择器**:可以像 jQuery 那样链式查找元素。
- **切换模式**:可以在 `chromium` 模式与 `session` 模式之间切换,提高效率。
---
阅读全文
相关推荐




















