爬虫爬出来的数据不全_Web Scraper教程(二)爬虫入门之当当畅销书爬取
你每年能读几本书?
2018年,我国人均数字阅读量为12.4本;
2019年,我国成年人均纸质图书阅读量为4.65本。
粗略计算,我国人均每年可以读17本书,平均每月1.5本。按照从18岁成年到77岁的人均寿命计算,人的一生可以读1020本书。
当当网上的图书数量是多少?
经济类:614873 本
管理类:1049148 本
历史类:607259 本
小说类:1564887 本
可见时间有限,现代文明的成果想尽情享用还是心有余而力不足,反而应该珍惜花费时间和精力去读的那1020本书。
在读书这件事上,选书才是最重要的。
亚马逊和当当的图书排行榜、名人推荐的书单、豆瓣的书评等,都可以帮助我们先做好选书这关键的第一步。
本篇文章以当当网畅销书榜为例,侧重Web Scraper的入门,爬取的内容比较简单,先掌握完整的爬虫流程,能够顺利导出爬取的数据。复杂多变的内容爬取会在后面的教程中一一讲解。
01 爬取的榜单和内容
进入当当畅销书榜单,选择近30天的畅销书,默认展示前20本,我们就对这20本的「书名」进行采集。
榜单网址:
http://bang.dangdang.com/books/bestsellers/01.00.00.00.00.00-recent30-0-0-1-1
02 爬虫项目实战
第一步,调出Web Scraper界面
点击鼠标右键,找到「检查元素」点击进入,在选项卡上就可以找到「Web Scraper」了。
第二步,创建名为「dangdang」的爬虫项目
在Creater new sitemap下点击Creater sitemap,然后进行以下配置:
Sitemap name:dangdang
Start URL:填入文章上方的榜单网址
点击Create Sitemap创建完成!
第三步,配置爬取「书名」的选择器
Id:选择器名称,这里填写「title」,表示要采集的是书的标题
Type:默认为Text,表示要采集的信息是文本格式
点击Selector中的Select后,跳出一个条形对话框
点选第1个书名,发现书名底色变红(表示被选中),然后点击第2个书名,此时发现后面的第3个、第4个……书名均变为红色
点击条形对话框的Done selecting!
勾选Multiple,表示除了点选的第1个和第2个书名外,本页后续底色变红的书名也都需要采集
点击Save Selector,「书名」的选择器配置完成!
第四步,执行爬虫程序
点击Sitemap dangdang下拉列表中的Scrape,开始执行程序
出现的对话框中有两项数字内容,默认值均为2000Request interval:表示「网页请求发送间隔」,为了不被网站判定为机器进而阻止采集,需要模拟人的行为将动作放缓,通常按默认值即可Page load delay:表示「页面加载时长」,如果页面没有完全加载就开始采集,会造成信息采集不全,特别是在网速不佳的时候,通常也按默认值,也可适当调整
点击Start scraping开始采集,弹出一个采集窗口,注意采集过程中不要关闭此窗口,待采集完成后,窗口会自动关闭
窗口关闭后,点击refresh,出现3列数据
「web-scraper-order」:程序自动编码,不用理会
「web-scraper-start-url」:点击书名跳转的url,前面虽然只设置了采集书名的文本,但采集默认同时提供url,所以如果需要此项,不用再单独设置
「title」:要采集的书名,注意,书名的顺序并非是网页上的顺序
第五步,导出数据至CSV文件
Web Scraper免费版只提供CSV一种导出形式,导出后用Excel打开即可。
- 点击Sitemap dangdang下拉列表中的Export data as csv
- 点击Download now!后出现了浏览器的下载对话框,打开或者保存即可
03 Web Scraper界面功能介绍 下面,顺序介绍Web Scraper界面中的Sitemaps、Sitemap、Create new sitemapSitemaps:Sitemap项目列表,所有创建的Sitemap均可在此列表找到,比如上面创建的「dangdang」就在此列表中。Sitemap:直接点击此项,Web Scraper无任何反应,因为此项只针对某一个已经创建的Sitemap,所以,要从Sitemaps中选择一个ID点击,这里点击「dangdang」,发现中间的Sitemap变为了Sitemap dangdang,说明已经跳转到了指定的Sitemap内。点击Sitemap dangdang,下拉列表有如下几项:Selectors:选择器列表,每一个采集内容均要配置一个选择器,在上面的例子中,采集了书名,如果需要采集评论数、出版社等页面可见信息,要分别为这些信息逐一添加选择器Selector graph:选择器结构图,显示选择器之间的树状关系,再复杂的采集项目中能够一目了然地呈现采集逻辑Edit metadata:修改Sitemap设置,即Sitemap名称和urlScrape:执行采集程序Browse:浏览采集结果Export Sitemap:导出Sitemap代码,此代码可以直接导入,无需再次配置Export data as CSV:导出采集结果至csv文件点击Create new sitemap,发现有两种新建Sitemap的方法,直接创建(Create Sitemap)和导入(Import Sitemap)。当当的案例中已经讲过Create Sitemap,这里不再赘述。
点击Import Sitemap进入以下界面:Sitemap JSON:把Export Sitemap导出的代码粘贴在此处Rename Sitemap:为Sitemap命名
点击Import Sitemap后,同样成功创建了Sitemap 04 数据采集只是数据分析的过程 每一分钟,互联网上都会有海量的数据产生,数据的价值并非是它本身,而是通过分析数据能获得哪些有价值的信息。数据采集是一项不值得投入太多时间的工作(包括学习采集的时间和练习的时间),所以,只要学习了网页常见情况的处理方法就可以,没有必要为了学习采集而频繁练习。遇到新的问题时,再到网上寻求解答,这样会记得更牢。
爬虫爬出来的数据不全_Web Scraper教程(二)爬虫入门之当当畅销书爬取相关推荐
- 爬虫爬出来的数据不全_斥巨资学完Python数据分析后,给运营人总结7个小建议...
曾经我们看不起满大街卖英语课的销售,现在朋友圈一个广告就屁颠屁颠报名学Python,堪称年度迷惑行为之一. 难得摊上一个风口浪尖的话题,亲身经历的我也算是抓到一个写作素材了. 去年十一月开始学数据分析 ...
- python爬虫工程师需要会什么软件_Python学习教程:爬虫工程师必备的10个爬虫工具!...
Python学习教程:爬虫工程师必备的10个爬虫工具! 最近很多学爬虫的伙伴让推荐顺手的爬虫工具,南瓜花了点时间总结了一下,把这些好用的爬虫工具都跟你们找齐活了! 都知道工欲善其事必先利其器,那么作为 ...
- 网络爬虫模拟登陆获取数据并解析实战(二)
本文为原创博客,仅供学习使用.未经本人允许禁止复制下来,上传到百度文库等平台. 目录 分析要获取的数据 程序的结构 构建封装数据的model 模拟登陆程序并解析数据 结果展示 分析要获取的数据 下面继 ...
- 网站有反爬机制就爬不了数据?那是你不会【反】反爬!道高一尺魔高一丈啊!
不知道你们在用爬虫爬数据的时候是否有发现,越来越多的网站都有自己的反爬机制,抓取数据已经不像以前那么容易,目前常见的反爬机制主要有以下几种: 数据是通过动态加载的,比如微博,今日头条,b站 需要登录, ...
- Excel数据透视表经典教程二《创建数据透视表》
一.创建数据透视表 由上图:Ctrl+A选中图表,然后点击插入-点击数据透视表 选择在新/现有工作表中创建数据透视表 1.对不同品牌下的不同车型进行计数 2.查看不同品牌的收入是多少 3.将不同的地区 ...
- Python爬虫经常爬不到数据,或许你可以看一下小编的这篇文章
原标题:解决Python爬虫爬不到数据 前言: 近期,通过做了一些小的项目,觉得对于Python爬虫有了一定的了解,于是,就对于Python爬虫爬取数据做了一个小小的总结,希望大家喜欢! 文章目录 原 ...
- 爬虫爬取到的数据不全
文章目录 前言 python代码 解决办法 前言 这是一个爬虫的学习笔记,在写一个图书网站的数据爬取时,遇到一个问题,response得到的数据不全,而在网页端用xpath插件看到的是全的,代码如下 ...
- 【微博爬虫教程实例】基于requests、mysql爬取大数据量博主关键字下博文及评论
[关键词:手把手教程.反爬.数据库.python爬虫.微博关键词爬虫.较大数据量.数据简单过滤] 本教程适合微博相关爬虫需求者阅读,完整实例源码将放置在文末github链接中. 该实例针对微博的反爬措 ...
- python爬虫导入数据库_python爬虫爬下来的数据怎么导入到MySQL
展开全部 下载mysql.connector库 然后把爬虫2113爬到的数据5261通过mysql里面的insert语句查到数4102据库,当然也可以建表1653,一般我没用python建表 是先建好 ...
- 爬虫爬到的网页源代码不是真正的源代码_Python爬虫经常爬不到数据?你可以看一下这篇文章...
近期,通过做了一些小的项目,觉得对于Python爬虫有了一定的了解,于是,就对于Python爬虫爬取数据做了一个小小的总结,希望大家喜欢! 1.最简单的Python爬虫 最简单的Python爬虫莫过于 ...
最新文章
- JZOJ 3814. 【NOIP2014模拟9.7】天黑黑
- WCF和ASP.NET Web API在应用上的选择
- lfu算法实现c语言_分治算法解决最大子段和问题。c语言实现
- vue的基本项目结构
- 已知两点坐标如何快速增加其他坐标_「测绘精选」坐标转换概述
- java 画笔跟swing组件_「软帝学院」:2019思维最清晰的java学习路线
- 【Elasticsearch】十九种Elasticsearch字符串搜索方式终极介绍 各种 查询
- python语言发展历时_编程语言十年发展史
- 获取PowerShell某个对象的所有命令
- BS7799系列讲座:HTP模型图及构建(转载)
- AutoCAD中的Spline曲线算法分析(二)
- 如何判断 msn 是否在线 [根据msn是否在线动态显示 msn 头像]
- 无法打开包括文件math.h
- 李宏毅2022机器学习hw6
- 信号完整性分析学习--13--IBIS模型(2)
- 抗混叠滤波的Matlab解释
- 从0学起的esp-idf之旅——i2s总线理解与运用
- QPSK解调过程中的抽样判决
- 微软os snmp服务器,windows服务器snmp v3
- DNS_PROBE_POSSIBLE打不开网页怎么办?
热门文章
- SQLMAP参数中文详解(看过来)!
- 卫星影像,区划矢量,DEM....教你如何将各种遥感数据收入囊中
- 如何在python中输入复杂的数学公式_如何快速输入复杂的数学公式?这里有 3 个实用技巧...
- 仿微博视频边下边播之滑动 TableView 自动播放
- 操蛋 京东 配电脑 自助装机 严重问题
- 根据四个特征点求解相机位姿
- 鸿蒙判后而成翻译,我在洪荒一百四十六石猴出世(1/3)胜神州。东胜神洲,海外有一国土,名曰傲来-金羚文学...
- Redis 深度历险: 核心原理和应用实践
- java 批量生成条形码,打包zip(springboot)
- 微信公众号文章素材收集网站大盘点