使用selenium登录当当网https://www.dangdang.com/,在搜索栏输入“科幻”进行搜索,然后爬取前十页书籍名称、价格以及评论数,输出即可。
时间: 2024-03-15 09:41:56 浏览: 158
好的,我可以帮你解决这个问题。不过在开始之前,我需要确认一下你是否已经安装了 Selenium 和 ChromeDriver。如果没有安装,你需要先安装这两个工具。安装方法可以在网上搜索到。安装完成后,你需要将 ChromeDriver 的路径添加到系统环境变量中。
下面是使用 Python 和 Selenium 实现登录当当网并爬取前十页书籍信息的代码:
```python
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import time
# 设置 ChromeDriver 路径
driver_path = "/path/to/chromedriver"
# 创建浏览器对象并打开当当网首页
driver = webdriver.Chrome(driver_path)
driver.get("https://www.dangdang.com/")
# 登录当当网
login_link = driver.find_element_by_link_text("请登录")
login_link.click()
# 切换到登录框中的 iframe
iframe = driver.find_element_by_xpath("//div[@class='login_box']/iframe")
driver.switch_to.frame(iframe)
# 输入用户名和密码进行登录
username_input = driver.find_element_by_id("username")
username_input.send_keys("your_username")
password_input = driver.find_element_by_id("password")
password_input.send_keys("your_password")
password_input.send_keys(Keys.ENTER)
# 搜索关键词
search_input = driver.find_element_by_name("key_S")
search_input.send_keys("科幻")
search_input.send_keys(Keys.ENTER)
# 等待搜索结果页面加载完成
wait = WebDriverWait(driver, 10)
wait.until(EC.presence_of_element_located((By.CLASS_NAME, "bigimg")))
# 爬取前十页书籍信息
for i in range(1, 11):
print("第 %d 页:" % i)
# 等待页面加载完成
time.sleep(2)
# 获取当前页面所有的书籍信息
books = driver.find_elements_by_xpath("//ul[@class='bigimg']/li")
for book in books:
# 获取书籍名称、价格和评论数
name = book.find_element_by_xpath(".//p[@class='name']/a")
price = book.find_element_by_xpath(".//p[@class='price']/span[@class='price_n']")
comment = book.find_element_by_xpath(".//p[@class='search_star_line']/a")
print(name.text, price.text, comment.text)
# 点击下一页按钮
next_page = driver.find_element_by_link_text("下一页")
next_page.click()
```
需要替换代码中的 `/path/to/chromedriver` 为你本地 ChromeDriver 的路径,以及 `your_username` 和 `your_password` 为你的当当网登录用户名和密码。运行该脚本后,程序将自动登录当当网、搜索关键词、爬取前十页书籍信息并输出到控制台中。
阅读全文