selenium爬虫爬取当当网书籍信息 | 最新!

如果对selenium不了解的话可以到下面的链接中看基础内容:

selenium爬取有道翻译-CSDN博客

废话不多说了下面是代码并且带有详细的注释:

爬取其他类型的书籍和下面基本上是类似的可以自行更改。

python 复制代码
# 导入所需的库
from selenium import webdriver
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
import csv

# 创建一个Chrome浏览器实例,并设置为无头模式(不显示界面)
options = webdriver.ChromeOptions()
options.add_argument('--headless')
driver = webdriver.Chrome(options=options)

# 访问当当网首页
driver.get('https://www.dangdang.com/')

# 在搜索框中输入关键词"科幻"
key = driver.find_element(By.ID, "key_S")
key.send_keys("科幻")

# 点击搜索按钮
element = driver.find_element(By.ID, "search_btn")
driver.execute_script("arguments[0].click();", element)

# 创建CSV文件并写入表头
with open('output.csv', 'w', newline='', encoding='utf-8') as csvfile:
    writer = csv.writer(csvfile)
    writer.writerow(['标题', '价格'])

# 循环爬取前3页的书籍信息
for i in range(3):
    # 获取当前页面的所有书籍列表
    shoplist = driver.find_elements(By.CSS_SELECTOR, ".shoplist li")

    # 遍历每本书的信息
    for li in shoplist:
        # 获取书名
        title = li.find_element(By.CSS_SELECTOR, "a").get_attribute("title")

        # 获取价格
        price = li.find_element(By.CSS_SELECTOR, ".search_now_price").text

        # 将获取到的数据添加到CSV文件中
        with open('output.csv', 'a', newline='', encoding='utf-8') as csvfile:
            writer = csv.writer(csvfile)
            writer.writerow([title, price])

    # 获取下一页的链接并点击
    next = driver.find_element(By.LINK_TEXT, "下一页")
    next.click()

    # 等待页面加载完成
    time.sleep(2)

# 当用户输入1时,退出浏览器
if input('1'):
    driver.quit()

下面是运行效果

代码是最新的,在这一段时间内一定是可以运行的

如果有啥问题可以问我看到一定会回复大家,如果大家喜欢可以作者点赞和关注

大家的支持是我创作下去的最大动力!

相关推荐
java叶新东老师1 分钟前
goland编写go语言导入自定义包出现: package xxx is not in GOROOT (/xxx/xxx) 的解决方案
开发语言·后端·golang
@蓝莓果粒茶13 分钟前
LeetCode第350题_两个数组的交集II
c++·python·学习·算法·leetcode·职场和发展·c#
FinAnalyzer27 分钟前
如何在 InsCodeAI 上搭建并使用 Jupyter Notebook 环境?
ide·python·jupyter
java1234_小锋28 分钟前
【NLP舆情分析】基于python微博舆情分析可视化系统(flask+pandas+echarts) 视频教程 - 微博文章数据可视化分析-文章分类下拉框实现
python·自然语言处理·flask
檀越剑指大厂29 分钟前
【Python系列】Flask 应用中的主动垃圾回收
开发语言·python·flask
檀越剑指大厂35 分钟前
【Python系列】使用 memory_profiler 诊断 Flask 应用内存问题
开发语言·python·flask
笠码37 分钟前
JVM Java虚拟机
java·开发语言·jvm·垃圾回收
WXX_s1 小时前
【OpenCV篇】OpenCV——03day.图像预处理(2)
人工智能·python·opencv·学习·计算机视觉
橙小花1 小时前
C语言:指针、变量指针与指针变量、数组指针与指针数组
c语言·开发语言
是小恐龙啊1 小时前
【测试报告】云枢馈赠系统(Java+Selenium+Jmeter自动化测试)
selenium·测试工具·jmeter