在本攻略中,我们将介绍如何使用Selenium和BeautifulSoup库来爬取淘宝搜索页。Selenium用于模拟浏览器行为,BeautifulSoup用于解析HTML文档。
安装Selenium和BeautifulSoup
在使用Selenium和BeautifulSoup之前,我们需要安装它们。以下是安装Selenium和BeautifulSoup的命令:
pip install selenium
pip install beautifulsoup4
爬取淘宝搜索页
以下是一个示例代码,演示了如何使用Selenium和BeautifulSoup库爬取淘宝搜索页:
from selenium import webdriver
from bs4 import BeautifulSoup
# 搜索关键字
keyword = '手机'
# 创建浏览器对象
browser = webdriver.Chrome()
# 打开淘宝搜索页
url = 'https://www.taobao.com/'
browser.get(url)
# 输入搜索关键字
input_box = browser.find_element_by_name('q')
input_box.send_keys(keyword)
# 点击搜索按钮
search_button = browser.find_element_by_class_name('btn-search')
search_button.click()
# 获取搜索结果页面的HTML文档
html_doc = browser.page_source
# 解析HTML文档
soup = BeautifulSoup(html_doc, 'html.parser')
# 打印搜索结果
for item in soup.find_all('div', class_='item'):
title = item.find('div', class_='title').string.strip()
price = item.find('div', class_='price').string.strip()
print(title, price)
# 关闭浏览器
browser.quit()
在上面的代码中,我们首先定义了一个搜索关键字。然后,我们创建了一个Chrome浏览器对象,并打开淘宝搜索页。我们使用find_element_by_name()方法和find_element_by_class_name()方法找到搜索框和搜索按钮,并输入搜索关键字并点击搜索按钮。接下来,我们使用browser.page_source获取搜索结果页面的HTML文档,并使用BeautifulSoup库解析HTML文档。我们使用soup.find_all()方法找到所有搜索结果,并使用item.find()方法找到每个搜索结果的标题和价格。最后,我们打印搜索结果,并关闭浏览器。
爬取淘宝商品详情页
以下是另一个示例代码,演示了如何使用Selenium和BeautifulSoup库爬取淘宝商品详情页:
from selenium import webdriver
from bs4 import BeautifulSoup
# 商品详情页URL
url = 'https://item.taobao.com/item.htm?id=632828731764'
# 创建浏览器对象
browser = webdriver.Chrome()
# 打开商品详情页
browser.get(url)
# 获取商品详情页的HTML文档
html_doc = browser.page_source
# 解析HTML文档
soup = BeautifulSoup(html_doc, 'html.parser')
# 打印商品标题和价格
title = soup.find('h1', class_='tb-main-title').string.strip()
price = soup.find('span', class_='tb-rmb-num').string.strip()
print(title, price)
# 关闭浏览器
browser.quit()
在上面的代码中,我们首先定义了一个商品详情页的URL。然后,我们创建了一个Chrome浏览器对象,并打开商品详情页。我们使用browser.page_source获取商品详情页的HTML文档,并使用BeautifulSoup库解析HTML文档。我们使用soup.find()方法找到商品标题和价格,并打印它们。最后,我们关闭浏览器。
结论
本攻略介绍了如何使用Selenium和BeautifulSoup库爬取淘宝搜索页和商品详情页。我们介绍了如何安装Selenium和BeautifulSoup库,并提供了两个示例代码来演示如何使用Selenium和BeautifulSoup库爬取淘宝搜索页和商品详情页。这些示例代码可以帮助您更好地理解如何使用Selenium和BeautifulSoup库。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python使用Selenium+BeautifulSoup爬取淘宝搜索页 - Python技术站