所谓“网页数据抓取”,也称为网页数据采集,Web数据采集等等,就是从我们平时通过浏览器查看的web网页上来提取需要的数据信息,然后以结构化的方式存储到CSV、JSON、XML、ACCESS、MSSQL、MYSQL等格式的文件或数据库中的过程。当然,这里的数据提取过程,是借助于计算机软件技术来实现的,而不是通过人工的方式手动复制、粘贴来实现的。也正因为如此,才使得从大型网站上采集需要的数据成为可能。

下面,就以笔者从当当网上采集数据的过程为例,来具体说一下网页数据抓取的基本过程吧。

首先,我们要对目标网站的网页结构进行分析,以确定该网站上的数据是否可以采集以及如何采集。

当当网是一个综合性的网站,这里我们就以图书类数据为例来说明吧。经过查看,我们找到了图书信息的目录页。图书信息是以多级目录为结构来组织的,如下图所示,图片左侧的就是图书信息的一级目录:

因为很多网站出于数据保护的原因,都会限制数据显示的数目,比如数据最多显示100页之类的,超过100页的数据就不给显示出来了。这样的话,如果选择进入的目录级别越高,能够得到的数据量就越少。所以,为了能够得到尽可能多的数据,我们需要进入更底层的目录,也就是更小的分类级,才能获得更多的数据。

点开一级目录,就可以进入二级图书目录,如下图所示:

同样,依次点击各级目录,最后就能进入到最底层的目录,这里显示着该目录下的所有可显示的数据项列表,我们可以称之为底层列表页,如图所示:

当然,这个列表页很可能也是分为多页的,我们在进行数据采集时,需要遍历每一页的数据项,通过每个数据项上的链接,就可以进入到最终数据的页面,我们称之为详细页。如下图:


到这里,获取详细数据的路径已经明确了。接下来,我们就要对详细页上的有用数据项进行分析,然后针对性地编写数据采集程序,就可以抓取到我们感兴趣的数据了。

下面是笔者对当当网图书数据进行网页数据抓取时编写的程序的部分代码:

下面是笔者采集到的部分图书信息示例数据:

至此,一个完整的网页数据抓取过程就完成了。

了解更多分析及数据抓取可查看:
http://cloud.yisurvey.com:9081/html/d8acf20b-342f-4806-8dcc-5e6a8d00881d.html?ly=csdn
本文转载自互联网、仅供学习交流,内容版权归原作者所有,如涉作品、版权和其他问题请联系我们删除处理。
特别说明:本文旨在技术交流,请勿将涉及的技术用于非法用途,否则一切后果自负。如果您觉得我们侵犯了您的合法权益,请联系我们予以处理。

网页数据抓取之当当网相关推荐

  1. 网页数据抓取-网页实时数据抓取软件

    网页数据抓取,随着社会的发展,互联网的普及,不管是企业还是个人都意识到数据的重要性.今天给大家分享一款免费的网页数据抓取软件.只要点点鼠标就能轻松采集你想要的内容不管是导出还是自动发布都支持!详细参考 ...

  2. 1.3 网页数据抓取

    1.3 网页数据抓取 李沐 B站:https://space.bilibili.com/1567748478/channel/collectiondetail?sid=28144 课程主页:https ...

  3. 如何用python抓取文献_浅谈Python爬虫技术的网页数据抓取与分析

    浅谈 Python 爬虫技术的网页数据抓取与分析 吴永聪 [期刊名称] <计算机时代> [年 ( 卷 ), 期] 2019(000)008 [摘要] 近年来 , 随着互联网的发展 , 如何 ...

  4. 李沐【实用机器学习】1.3网页数据抓取

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.数据抓取工具 二.实例解析 总结 前言 网页数据抓取目标:在一个网站里面感兴趣的数据抓取出来 数据特点:噪点较多, ...

  5. 网页数据抓取,关键在于抓取的准确性和应对海量数据时的快速反应

    无论是互联网科技.大数据.还是云计算,关键都在于技术优势,技术的成本和门槛都很高,不是两三个人零成本就可以打造一个产品. 我们以网页数据抓取来说,一门基于web结构或基于浏览器可视化的数据获取技术,关 ...

  6. vba抓取网页数据到excel_R语言网页数据抓取XML数据包

    有些网络上的数据无法复制粘贴,一个一个录入有点费时费力,此时用这种数据抓取方法,短短几句,简单实用.XML是一种可扩展标记语言,它被设计用来传输和存储数据.XML是各种应用程序之间进行数据传输的最常用 ...

  7. Android登录客户端,验证码的获取,网页数据抓取与解析,HttpWatch基本使用

    大家好,我是M1ko.在互联网时代的今天,如果一个App不接入互联网,那么这个App一定不会有长时间的生命周期,因此Android网络编程是每一个Android开发者必备的技能,博主是在校大学生,自学 ...

  8. Jmeter压力测试 Web网页数据抓取-【教学篇】

    Jmeter快速使用 特此郑重声明!该文章是原创作品,小编编写实属不易 ,转载小伙伴请注明出处!谢谢 概述 Apache JMeter Apache组织开发的压力测试工具.目前通过HTTP和FTP服务 ...

  9. Java爬虫抓取网页数据(抓取慕课网论坛为实例)

    1. 网络爬虫 网络爬虫(英语:web crawler),也叫网络蜘蛛(spider),是一种用来自动浏览万维网的网络机器人.其目的一般为编纂网络索引.简单来说,就是获取请求的页面源码,再通过正则表达 ...

最新文章

  1. 十一月第三周学习进度条
  2. Node.js模块系统
  3. throw和throw ex的区别
  4. 试试看 ? 离奇古怪的javascript题目
  5. 前端每日实战:140# 视频演示如何用纯 CSS 创作文本的淡入动画效果
  6. Linux编程练习 --多线程4--条件变量
  7. python-虚拟环境操作指令-centos环境下
  8. HMC支持管理服务器数量及适合POWER6服务器的HMC型号
  9. socket io 不使用redis_为什么Redis单线程能够达到数十万、百万级的QPS?
  10. CF 914 D. Bash and a Tough Math Puzzle
  11. word排版一般步骤
  12. 正则表达式的例题分析
  13. 什么是嵌入式开发?嵌入式培训学哪些?
  14. 笔记本计算机在桌面显示器,笔记本连接显示器
  15. jquery调色板_使用jQuery的调色板生成器
  16. Excel如何复制粘贴筛选后的单元格
  17. Spring Boot进阶(12):Spring Boot 如何获取Excel sheet页的数量?一文教会你 | 超级详细,建议收藏
  18. 最新友价T5仿虚拟交易商城网站源码+PHP内核
  19. Buu Crypto
  20. 各种骗术给我的经验教训

热门文章

  1. Python斐波拉契数列
  2. word交叉引用的理解
  3. html手机自动放大,解决HTML5手机端页面缩放的问题
  4. 如何在虚拟主机上部署java项目_如何在虚拟主机上部署java项目
  5. 如何构建用户画像来实现精准营销?
  6. Unity五子棋游戏设计 和简单AI实现(1)
  7. n叉树的遍历递归实现
  8. HDU-6121 Build a tree - 2017 Multi-University Training Contest - Team 7(完全K叉树)
  9. MATLAB基础学习
  10. Java(回文数--比较简单的写法)