爬虫入门经典(二十四)爬取当当网图书信息并进行数据清洗腾讯云开发者社区

我们知道网络爬虫是一种从互联网上进行开放数据采集的重要手段。但是咱们所收集的数据并不全都是直接能够使用的。它们由于各种原因,原始数据往往会存在许多问题,例如数据格式不正确,数据存在冗余等等。这些我们暂时可以理解为脏数据。

那么直接使用我们获取到的第一手原始数据呢?这个时候我们就需要进行数据清洗。

考虑到学弟学妹们基础较为薄弱,因此学长在此选择一个较为简单的爬虫demo。方便学弟学妹们进行理解。此demo的数据采集部分实现从某图书网站自动下载感兴趣的图书信息的功能。主要实现的功能包括单页面图书信息下载,图书信息抽取,多页面图书信息下载等。本demo学长认为挺适合大数据初学者了解数据采集以及数据清洗的哈哈。

下面这一点是学长个人建议哈~学长认为如果进行数据清洗的话,使用Anaconda集成的Jupyter进行操作是很的。

在进行演示之前我们需要知道什么是数据清洗!

数据清洗:为了便于后续的处理和分析,对数据进行的质量诊断、数据整合、数据转换、缺失值处理和异常值处理等操作。

1、缺失值处理:对存在缺失的数据进行插补2、异常值处理:对数据集中存在的不合理值进行处理3、数据转换:将数据从一种表现形式转换成另一种表现形式

1、Mapreduce(Hadoop):基于集群的高性能并行计算框架;并行计算与运行软件框架;并行程序设计模型与方法。2、Pandas(Python):解决数据分析任务的Python库,提供了诸多数据清洗的函数和方法。3、OpenRefine:数据清洗工具,能够对数据进行可视化操作,类似Excel,但其工作方式更像数据库。

本demo学长使用Pandas进行数据清洗。

安装Anaconda的话,学长建议去官网进行下载安装。

点击之后选择自己的操作系统以及版本对应的下载链接

点击后即可自动下载。下载完成后即可安装。

在此,博主推荐两个下载网址:

两个镜像源地址都可以进行下载,不过第一个为官网版本更新比较完整。学长建议各位下载可以选择官网版本,并且如果下载没必要直接下载最新版本。当然了至于怎样下载主要还是看个人。

我们打开Anaconda之后的界面如下:

那么如何使用JupyterNotebook呢?下面看我操作:

到这里我们就知道如何新建文件了。下面就开始进入正题了!

爬取内容描述:从当当网搜索页面,按照关键词搜索,使用Python编写爬虫,自动爬取搜索结果中图书的书名、出版社、价格、作者和图书简介等信息。

我们先随机输入一个关键词进行搜索,在此我们把机器学习作为关键词。

我们可以看到有乱码,看到这个乱码我们就要知道这是我们输入关键词的URLEncode下面我们尝试把后面的多余部分删除

下图中的GIF为演示解码与编码的过程:

下面我们对比下是不是如此:

经过对比我们发现链接是一样的,那么我们接下来尝试直接输入汉字搜索尝试下

我们发现是可行的,那么我们就可以确定URL链接为:

分析的话我们肯定要先从源码进行分析:

点开第一个

  • 标签,发现下面还有几个

    标签,且class分别为"name"、“detail”、"price"等,这些标签下分别存储了商品的书名、详情、价格等信息。

    我们以书名信息的提取为例进行具体说明。点击

  • 标签下的class属性为name的

    标签,我们发现书名信息保存在一个name属性取值为"itemlist-title"的标签的title属性中,如下图所示:

    我们先来看下xpath解析的内容

    下面为代码实现:

    信息项

    xpath路径

    书名

    //li/p/a[@name=“itemlist-title”]/@title

    出版信息

    //li/p[@class=“search_book_author”]

    当前价格

    //li/p[@class=“price”]/span[@class=“search_now_price”]/text()

    星级

    //li/p[@class=“search_star_line”]/span[@class=“search_star_black”]/span/@style

    //li/p[@class=“search_star_line”]/a[@class=“search_comment_num”]/text()

    由于此部分学长早已经测试过了,因此在此就不再测试了。

    下面我们可以编写一个函数content,输入一个页面内容,自动提取出页面包含的所有图书信息。

    如果先实现多页的话,我们需要观察下搜索页面的翻页。

    假设我们一共希望下载15页内容,则可以通过以下代码实现。

    首先,我们借助Pandas包提供的read_csv方法读取原始数据,将其转换成Pandas中的DataFrame格式。注意由于数据中包含中文,需要正确设置字符编码。

    正则表达式的话,其实学长之前已经介绍过了,不过现在再次用到。那么学长就再简单的介绍下吧!

    正则表达式是一种按照特定规则搜索文本的方法。在正则表达式中\d表示数字,+表示匹配前一个字符1次或无限次,常见的正则表达式符号含义见下表所示。

    上图是不是比较多,所以学长在百科上找到了另一个合集:

    在Python中,re包实现了正则表达式的匹配,常用的search函数能够完成匹配。下面我们编写get_numers函数用来提取一个字符串中的数值。

    原始数据

    数值

    width:0%;

    0

    width:10%;

    10

    0.5

    width:20%;

    20

    1

    width:30%;

    30

    1.5

    width:40%;

    40

    2

    width:50%;

    50

    2.5

    width:60%;

    60

    3

    width:70%;

    70

    3.5

    width:80%;

    80

    4

    width:90%;

    90

    4.5

    width:100%;

    100

    5

    这个时候,我们就可以写出如下代码:

    从原始数据中可以看出以/分隔的第一个数据是作者,因此我们可以直接提取。使用字符串的split方法可以对字符串按照特定字符分割,并且分割后是列表形式,例如:

    采样正则表达式匹配出版社信息,正则表达式为(\S{1,10}出版社)。下面我们实现get_publisher函数,从出版信息列找那个提取出版社信息。

    出版日期的格式为YYYY-MM-DD,对应的正则表达式为(\d{4}-\d{2}-\d{2})。

    书名信息中混合这书的简介信息,观察原始数据中书名一列,能找到一些规律。除去最开始可能包含的一些包含在【】和[]中间的标注信息,剩余的内容中书名和其他内容基本是由空格隔开的。所以我们首先将【】和[]去掉,然后按照空格分隔字符串,第一个内容便是书名。实现方法如下:

    美好的日子总是短暂的,虽然还想继续与大家畅谈,但是本篇博文到此已经结束了,如果还嫌不够过瘾,不用担心,我们下篇见!

  • THE END
    1.三本励志的心灵修养品质好书,心灵没就是精神的美与道德的美三本励志的心灵修养品质好书,心灵没就是精神的美与道德的美 今天小编继续给书迷们介绍好看的书籍篇章,分分钟让书迷朋友们看上瘾不睡觉!人要知足常乐,什么事情都不能想繁杂,心灵的负荷重了,就会怨天忧人。如果你简单,这个世界就对你简单。简单生活才能幸福生活。要定期的对记忆进行一次删除,把不愉快的人和事https://baijiahao.baidu.com/s?id=1818216968809377671&wfr=spider&for=pc
    2.改变命运的十本书籍最影响人生的十本书教你怎样改变命运大家都想知道怎样改变命运和运气,在讲述命运的书中寻找人生的真谛和要领不失为一个好办法,有关命运的书有哪些最值得看?maigoo小编就为大家带来了改变命运的十本书籍,包括:羊皮卷、人性的弱点、高效能人士的七个习惯、富兰克林自传、平凡的世界、百年孤独、厚黑学、钢铁是怎样炼成的、墨菲定律、追风筝的人等等,最影响https://www.maigoo.com/top/417579.html
    3.书籍是改变命运的阶梯就是当你在日常与人交流的时候,你并不能保证每一个与你对话的人都有着很高的水平,但当你阅读一本书籍特别是名著,你就相当于在和一位名家对话,通过文字去感受名家的灵魂与思维方式。 可以这样说,读一篇文章也许只要几十分钟,却远胜过和一个普通人坐着闲聊一整天。 https://www.meipian.cn/1l4aggtq
    4.高考必读十大励志书籍(精选12篇)篇3:家居营销十大经典必读书籍 在家居行业,传统意义上的营销策略已经是“理论上正确,实战中疲软”,取而代之的是营销“非常术”。以下书籍揭示了家居(建材)行业营销人都迫切想知道,实际上也在支配这个行业营销命脉,但苦于不得其门而入的“潜规则”。 https://www.360wenmi.com/f/file3seeq5xf.html
    5.张其成著1函3册羊皮卷珍藏版认识自我改变命运的智慧之书原文注> 【善品堂藏书】周易通解 张其成著 1函3册羊皮卷珍藏版 认识自我改变命运的智慧之书 原文注释译文解析白话文解读中国哲学经典书籍 【羊皮卷珍藏版】善品堂藏书周易通解 贵岚青春文学专营店 张其成译 京东价 ¥ 促销 展开促销 配送至 --请选择-- 支持https://item.jd.com/10111832372414.html
    6.成为千万富翁必看书籍(经典).pdf管理学成为千万富翁必看书籍(经典).pdf,看完十分之一就可以成为千万富翁的书目 看完十分之一就可以成为千万富翁的书目 1993年,大学一位老教授给他的弟子们列出一个图书目录,他语重心长的说: “知识可以改变命运,中国的社*会越来越开明,已经完全具备可以通过努力就 可以获取成https://max.book118.com/html/2011/0428/165460.shtm
    7.经典股票入门书籍推送配资开户无论是身处繁华都市还是宁静乡野,我们都渴望窥探那些藏在经济世界深处的秘密,寻找能够改变命运的钥匙。或许正如华兹华斯所说:“书籍是人类进步的阶梯”,而在投资领域,掌握股票投资的基本知识则显得尤为重要。对于那些想要深度探索股票市场,了解投资技巧的初学者们,一本具有启发性和实用性的经典股票入门书籍将成为不可或缺https://www.peizipp.com/article-80558-1.html
    8.读书读事读人读己教师、现任教于西北大学的王鹏程说,“面对这些书宛如历数自己的挚友”;江苏省南京燕子矶中学教师杨赢称它们是“转动命运车轮的书”;青岛大学的宫振胜称这些书是“不离不弃的导师和好友”……《教师阅读地图》作者魏智渊把这样的书称为“根本书籍”,即那些奠定教师精神及学术根基,影响和形成其专业思维方式的经典书籍http://www.jyb.cn/rmtzgjsb/201901/t20190103_127530.html
    9.有哪些书是心理学必读的17篇(全文)然而,什么是气场?如何获得气场?如何用气场获得幸福、快乐、健康、爱情以及改变命运?“气场”是不是就是“吸引力法则”? 有哪些书是心理学必读的 第3篇 读了《昆虫记》《小女孩儿和小海豹》,你有什么感受,有什么想法呢?你平时读书是不是也有许多想说的呢?让我们把想说的话写下来,写成读后感。https://www.99xueshu.com/w/filexh21wam6.html
    10.嵌入式学习总体路线嵌入式学习路线10.知识改变命运——学好ARM就有机会,只要努力终将成功! http://blog.chinaunix.net/uid-20692368-id-1892972.html ———– 十年研发经验工程师的嵌入式学习书籍大推荐 从事嵌入式研发行业十年,认为学习就是要不断的吸纳知识,在研发过程中,经常会遇到一些问题,这种发现问题并解决问题的过程就是进步。 为什么选择学https://blog.csdn.net/2401_85015317/article/details/138935491
    11.2023年5月芭莳圈书评推文汇总!标签:反复穿越,灵魂互换,甜文,破案,高智商犯罪,改变命运,2023.5起点完结 (芭莳圈扫文组 水晶 8.5分 书评推文)又是一个反复穿越的故事,不同的是男女主穿越过去后还灵魂互换了。 3.入侵[向哨] 作者:龚心文 20票 标签:科幻,向哨文,女向男哨,触手女主VS寂寞虎鲸,女强,2023.5晋江完结 https://weibo.com/ttarticle/p/show?id=2309404912862291427409
    12.人生必读书籍理想股票技术论坛人生必读书籍是指那些能够深刻影响我们思想和行为的经典之作。这些书籍可以帮助我们了解人生的真谛,改变我们的命运,启发我们的思考,激发内心的力量。无论是在事业、家庭、健康、人际关系等各个方面,这些书籍都能给予我们宝贵的指导和启示。无论你是正在追寻成功的道路上https://www.55188.com/tag-405415.html
    13.书籍背后的力量林清玄关于阅读的话语精选读书改变命运 "好的书籍能改变一个人的人生轨迹,也能让一个国家发生变革。" 林清玄的话语充分体现了他对读物影响力的一种理解。他认为,好的作品不只是文学艺术上的瑰宝,更是启迪思想、塑造观念的一面镜子,它们能够引导人们走向更广阔的心灵世界,从而产生深远的人生转变或历史性的社会变革。 https://www.cttwnpgha.cn/jing-dian-yu-lu/223519.html
    14.7部能改变命运的书籍,你认同吗?7部能改变命运的书籍,你认同吗? 华智卓阅关注IP属地: 湖北 0.1182021.05.22 00:05:18字数0阅读212?著作权归作者所有,转载或内容合作请联系作者 1人点赞 日记本 更多精彩内容,就在简书APP "小礼物走一走,来简书关注我"赞赏支持还没有人赞赏,支持一下https://www.jianshu.com/p/f74dbf11ab08
    15.阅读改变命运:十本能够转变你人生观的书籍他强调深度工作不仅能大幅提升生产力,还能给予个人更深的满足感。 这些书籍综合了不同领域的知识,从心理学、经济学、哲学到职业发展等不同角度出发,为读者提供了不同的视野和思考方式,以此来丰富和启迪他们的人生。 本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请https://www.360doc.cn/article/31936202_1122861132.html