使用selenium完成京东商品的爬取
时间: 2023-10-16 21:07:58 浏览: 85
selenium抓取京东商品信息.ipynb
好的,下面是使用Selenium完成京东商品爬取的步骤:
1. 安装Selenium库
```
pip install selenium
```
2. 下载Chrome浏览器驱动
Selenium需要浏览器驱动来控制浏览器。这里以Chrome浏览器为例,下载对应版本的驱动:https://sites.google.com/a/chromium.org/chromedriver/downloads
3. 编写爬虫代码
以下是一个简单的例子,可以爬取京东商品的名称、价格和链接:
```python
from selenium import webdriver
# 创建Chrome浏览器驱动对象
driver = webdriver.Chrome('chromedriver.exe')
# 打开京东首页
driver.get('https://www.jd.com/')
# 在搜索框中输入关键词并搜索
input_elem = driver.find_element_by_id('key')
input_elem.send_keys('手机')
search_btn = driver.find_element_by_class_name('button')
search_btn.click()
# 等待搜索结果页面加载完成
driver.implicitly_wait(10)
# 获取搜索结果中的商品列表
product_list = driver.find_elements_by_css_selector('.gl-item')
# 遍历商品列表,提取名称、价格、链接等信息
for product in product_list:
name = product.find_element_by_css_selector('.p-name a').text
price = product.find_element_by_css_selector('.p-price strong i').text
link = product.find_element_by_css_selector('.p-name a').get_attribute('href')
print(name, price, link)
# 关闭浏览器
driver.quit()
```
在上面的代码中,使用`webdriver.Chrome`创建Chrome浏览器驱动对象,并使用`get`方法打开京东首页。然后,使用`find_element_by_id`和`find_element_by_class_name`等方法定位搜索框和搜索按钮,并模拟用户输入关键词和点击搜索按钮。接着,使用`implicitly_wait`方法等待搜索结果页面加载完成。最后,使用`find_elements_by_css_selector`方法定位商品列表,遍历列表,提取商品的名称、价格和链接等信息,并打印输出。最后,调用`quit`方法关闭浏览器。
需要注意的是,Selenium是一个自动化测试工具,爬虫使用时要注意不要频繁请求,以免被网站封禁IP。
阅读全文