如何使用python爬取当当网所有数据分析书籍信息
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,小编给大家分享一下如何使用python爬取当当网所有数据分析书籍信息,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1、爬取
千家信息网最后更新 2026年11月02日如何使用python爬取当当网所有数据分析书籍信息
1、爬取目标
对于要爬取的当当网书籍信息,首先打开当当网页,以数据分析为关键字搜索出来页面所有书籍信息。如下图:
本次爬取的结果有11项: (1)每页序号 (2)商品ID (3)标题 (4)书籍价格 (5)书籍原价 (6)书籍折扣 (7)电子书价格 (8)作者 (9)出版时间 (10)出版社 (11)书籍评论量
2、爬取过程
(1)确定url地址
分析网页页面,当输入数据关系关键字以后,点击搜索出来所有书籍网页信息后,将网页拉到最下面可以看到如下图:
可见此网页是翻页的,因此,点击页面2、3、1,提取网页的url如下:
http://search.dangdang.com/?key=%CA%FD%BE%DD%B7%D6%CE%F6&act=input&page_index=2
http://search.dangdang.com/?key=%CA%FD%BE%DD%B7%D6%CE%F6&act=input&page_index=3
http://search.dangdang.com/?key=%CA%FD%BE%DD%B7%D6%CE%F6&act=input&page_index=1
从每页的URL地址信息可以发现每一个页面的地址差异就是page_index的值,所以url地址可以确认为:
http://search.dangdang.com/?key=%CA%FD%BE%DD%B7%D6%CE%F6&act=input&page_index=
page_index的值,我们可以通过循环依次在地址后面添加。
代码如下:
(2)确定爬取节点
有了url地址,就可以使用lxml库来获取网页信息进行解析,得到具体的爬取信息。鼠标右键,点击"检查",如下图:
通过网页html里面的信息对应查找,可以找到li对应每个书籍信息,详细的信息如下图可见:
可以看到书籍名字、价格等信息,然后通过Xpath可以逐一提取出来。详细代码如下:
备注:基于如果想爬取电子书价格,由于有些书籍没有电子书价格,因此爬取出来会错行,务必通过提取书籍页面url,递归再次爬取详情页进行空值处理,避免错行。
(3)保存爬取信息入数据库
此处我们将爬取的信息存储入数据库,就需要先连接数据库和建立数据库表,便于后续存储。数据连接和表建立代码如下:
爬取的数据存储入表中代码如下:
最后必须使用:db.commit() 关闭数据库,不然数据无法正确存储入表。
3、爬取结果
最后,我们将上面的代码整合起来就可以正常爬取。存储的结果截图如下:
小编给大家分享一下如何使用python爬取当当网所有数据分析书籍信息,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
urls = ['http://search.dangdang.com/?key=%CA%FD%BE%DD%B7%D6%CE%F6&act=input&page_index={}'.format(i) for i in range(1,101)]html=requests.get(url,headers=headers)# html.encoding = "utf-8"# print('第一层调用是否返回正常:',html)html.encoding = html.apparent_encoding # 将乱码进行编码selector=etree.HTML(html.text)# print(selector)datas=selector.xpath('//div[@class="con shoplist"]')# print(datas)for data in datas:Classs = data.xpath('div/ul/li/@class') #line1-line60IDDs = data.xpath('div/ul/li/@id') #idtitles = data.xpath('div/ul/li/a/@title') #标题prices = data.xpath('div/ul/li/p[3]/span[1]/text()') #书籍价格source_prices = data.xpath('div/ul/li/p[3]/span[2]/text()') #书籍原价discounts = data.xpath('div/ul/li/p[3]/span[3]/text()') #书籍折扣# dian_prices = data.xpath('div/ul/li/p[3]/a[2]/i/text()') #电子书价格authors = data.xpath('div/ul/li/p[5]/span[1]/a[1]/@title') #作者publish_times = data.xpath('div/ul/li/p[5]/span[2]/text()') #出版时间publishs = data.xpath('div/ul/li/p[5]/span[3]/a/text()') #出版社comments = data.xpath('div/ul/li/p[4]/a/text()') #书籍评论量urls=data.xpath('div/ul/li/a/@href')
db = pymysql.connect(host='localhost', user='root', passwd='库密码', db='库名称:Learn_data', port=3306, charset='utf8')print("数据库连接")cursor = db.cursor()cursor.execute("DROP TABLE IF EXISTS Learn_data.dangdangweb_info_detail")sql = """CREATE TABLE IF not EXISTS Learn_data.dangdangweb_info_detail ( id int auto_increment primary key, Class CHAR(100), IDD CHAR(100), title CHAR(100), price CHAR(100), source_price CHAR(100), discount CHAR(100), author CHAR(100), publish_time CHAR(100), publish CHAR(100), comment CHAR(100), dian_price CHAR(100))DEFAULT CHARSET=utf8"""cursor.execute(sql)cursor.execute("insert into dangdangweb_info_detail (Class,IDD,title,price,source_price,discount,author,publish_time,publish,comment,dian_price)" "values(%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s)", (str(Class),str(IDD),str(title),str(price),str(source_price),str(discount),str(author) ,str(publish_time),str(publish),str(comment),str(dian_price[0])))以上是"如何使用python爬取当当网所有数据分析书籍信息"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!
书籍
数据
信息
网页
价格
地址
数据库
页面
存储
分析
代码
电子
电子书
出版
当当网
数据分析
篇文章
结果
作者
关键
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网科技园
中国互联网科技工作委员会毛军
科技创新与互联网经济
疫情对互联网科技公司影响
互联网中国科技
腾讯阿里互联网科技
中资互联网科技
喔噻互联网科技
美国互联网黑科技
一五八零互联网科技
银川新华互联网科技学校地址
互联网汽车科技小镇
剑昆互联网络科技有限公司临桂
重庆威客帮互联网科技
互联网科技产业特征
辽宁互联网新科技
互联网金融科技名词解释
华中科技大学互联网的牛人
西安有哪些互联网高科技企业
保山浩联互联网科技有限公司
中智农互联网科技
天津市摩尔互联网科技
互联网科技的英文
互联网科技论文
卓越科技互联网 招聘
深圳市罗太互联网科技有限公司
互联网科技公司营业执照怎么办理
马化腾互联网科技教学
互联网金融金融科技
北京品多多互联网科技有限公司