使用selenium登录当当网https://www.dangdang.com/,在搜索栏输入“科幻”进行搜索,然后爬取书籍名称、价格以及评论数,输出即可。 1 个附件
时间: 2024-03-11 22:44:51 浏览: 24
好的,这是一个比较典型的网页爬虫应用,需要使用selenium模拟浏览器操作,代码如下:
```python
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
# 打开浏览器并登录当当网
browser = webdriver.Chrome()
browser.get('https://www.dangdang.com/')
login_btn = browser.find_element_by_class_name('login_link')
login_btn.click()
time.sleep(1)
username = browser.find_element_by_id('username')
password = browser.find_element_by_id('password')
username.send_keys('your_username') # 填写自己的账号密码
password.send_keys('your_password')
time.sleep(1)
submit_btn = browser.find_element_by_id('login_button')
submit_btn.click()
time.sleep(1)
# 在搜索栏输入“科幻”并搜索
search_box = browser.find_element_by_id('key_S')
search_box.send_keys('科幻')
search_box.send_keys(Keys.RETURN)
time.sleep(1)
# 爬取书籍名称、价格以及评论数
books = browser.find_elements_by_class_name('name')
prices = browser.find_elements_by_class_name('price_n')
reviews = browser.find_elements_by_class_name('search_comment_num')
for i in range(len(books)):
print('书籍名称:', books[i].text)
print('价格:', prices[i].text)
print('评论数:', reviews[i].text)
print('--------------------------')
# 关闭浏览器
browser.quit()
```
需要注意的是,登录当当网需要填写个人的账号密码,因此需要将代码中的`your_username`和`your_password`替换成自己的账号密码。另外,为了防止网页加载过慢导致找不到元素,需要适当使用`time.sleep()`来等待。最终的结果会输出每本书籍的名称、价格以及评论数。