Python爬虫爬取当当网图书信息(selenium模拟谷歌浏览器版)

目录

1.导包

2.模拟谷歌浏览器

3.爬取需要的内容 

4.存储爬取的数据到csv文件中

5.存储爬取的数据到MySQL数据库中

6.将爬取图书的图片下载下来


代码需求:

  1. 使用静态或动态网页技术获取网站首页数据;
  2. 能够实现当当网主页的网页元素动态交互;
  3. 能够正确解析图书图书编号、名称、作者、出版社、出版时间、价格、简介、图片的URL;
  4. 能够构造6位的图书图片文件名如“000001.jpg”;
  5. 能够实现翻页功能;
  6. 将全部解析的数据存储到 .CSV文件;
  7. 将全部图书的图片存储到当前目录中“download”文件夹;
  8. 将全部解析的数据存储到MySQL或MongoDB数据库。

1.导包

from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.by import By
from selenium.webdriver import Chrome
import csv
import pymysql
import os
import requests

其中selenium,pymysql,requests库都要在终端中执行pip install **命令安装库

2.模拟谷歌浏览器

由于是模拟谷歌浏览器,需要在运行代码的计算机上下载有谷歌浏览器,同时也需要根据谷歌浏览器的版本下载相应版本的谷歌浏览器驱动放在PyCharm 项目的根目录下,这里就不在过多赘述了,详情参考https://blog.csdn.net/weixin_44758876/article/details/130317803

# url是要爬取的网站,这里使用selenium模拟谷歌浏览器爬取
url = "http://www.dangdang.com/"
my_chrome_options = Options()
my_chrome_options.add_experimental_option('detach',True) #不关闭浏览器
driver = Chrome(options=my_chrome_options)
driver.get(url)

# 输入想要爬取的图书类型
tushu = input()
shuru = driver.find_element(By.XPATH,'//*[@id="key_S"]')
shuru.send_keys(tushu)

# 点击搜索框
dianji = driver.find_element(By.ID, 'form_search_new').find_element(By.CLASS_NAME, 'button')
# selenium点击的元素被遮挡无法操作,所以直接用selenium支持的JS脚本方法点击
driver.execute_script('arguments[0].click()', dianji)
url = driver.current_url

3.爬取需要的内容 

在爬取过程中会有图书作者和出版社为空的情况,这种情况下自动为作者和出版社添加"null"值。以及爬取图书图片的url的时候,存在爬取到"https://search.dangdang.com/Standard/Search/Extend/hosts/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值