本文主要介绍 Web Scraping 的基本原理,基于Python语言,大白话,面向可爱的小白(^-^)。

易混淆的名称:

很多时候,大家会把,在网上获取Data的代码,统称为“爬虫”,

但实际上,所谓的“爬虫”,并不是特别准确,因为“爬虫”也是分种的,

常见的“爬虫”有两种:

  1. 网路爬虫 (Web Crawler),又称 Spider;Spiderbot
  2. 网页抓取 (Web Scraper),又称 Web Harvesting;Web Data Extraction

而,这篇文章,主要讲解的是第二种“爬虫”(Web Scraper)的原理。

Web Scraping 是什么?

简单的说 Web Scraping,(在本文里)就是指,用Python代码,从肉眼可见的网页上,抓取数据。

为什么需要 Web Scraping?

因为,重复工作太多,自己做,可能会累死!

代码的适用实例有哪些?

  1. 如,需要在证交所,下来50只不同股票的当前价格,
  2. 或者,想 print 出,新闻网站上,所有最新新闻的标题,
  3. 或者,只是想把网站上所有商品的价格列出来,放到 Excel 里对比下,
  4. 等等各种,尽可发挥你的想象力.....

Web Scraping 的基本原理:

  1. 首先,你需要了解,网页是怎么呈现在,我们屏幕上的;

    1. 其实就是,我们发出一个Request,
    2. 然后百公里外的服务器回给我们一个 Response;
    3. 然后我们收看到一大堆文字,
    4. 最后,浏览器,偷偷的把这堆文字排好了版,放在了我们屏幕上;
    5. 再详细的原理,可以去看我之前博文里的书,HTTP下午茶 - 小白入门书
  2. 然后,我们要了解,使用Python,如何实现它,实现原理基本就四个步骤:

    1. 首先,代码需要向服务器发出一个Request,然后收到一个Response(html文件)

      • 这里可以,使用Python的,request库,或者 urllib标准库
    2. 然后,我们需要处理收到的这个Response,找到我们所需要的文字
      • 这里使用,BeautifulSoup4 来实现对 html 文件的解析
    3. 然后,需要设计代码流程,来处理重复任务
      • 这里使用,Loop什么的,来完成重复的流程
    4. 最后,导出我们得到的数据,最好是漂亮的Excel表格
      • 这里可以先使用,pandas,来完成一些数据处理,或者计算
      • 然后使用,openpyxl库来完成,写入Excel的过程

篇尾总结:

这篇文章,重点在于讲解实现的思路和过程,

所以,并非详尽,也并没有给出实际的代码,

但是,这个思路,几乎是网页抓取的通用套路。

就写到这里吧,想起什么再更新,

要是有写的不到位的地方,还请包涵!

Web Scraping(网页抓取)基本原理 - 白话篇的更多相关文章

  1. Python开发爬虫之动态网页抓取篇:爬取博客评论数据——通过Selenium模拟浏览器抓取

    区别于上篇动态网页抓取,这里介绍另一种方法,即使用浏览器渲染引擎.直接用浏览器在显示网页时解析 HTML.应用 CSS 样式并执行 JavaScript 的语句. 这个方法在爬虫过程中会打开一个浏览器 ...

  2. 基于Casperjs的网页抓取技术【抓取豆瓣信息网络爬虫实战示例】

    CasperJS is a navigation scripting & testing utility for the PhantomJS (WebKit) and SlimerJS (Ge ...

  3. 简易数据分析 09 | Web Scraper 自动控制抓取数量 & Web Scraper 父子选择器

    这是简易数据分析系列的第 9 篇文章. 今天我们说说 Web Scraper 的一些小功能:自动控制 Web Scraper 抓取数量和 Web Scraper 的父子选择器. 如何只抓取前 100 ...

  4. 分享一个c#t的网页抓取类

    using System; using System.Collections.Generic; using System.Web; using System.Text; using System.Ne ...

  5. 网页抓取:PHP实现网页爬虫方式小结

    来源:http://www.ido321.com/1158.html 抓取某一个网页中的内容,需要对DOM树进行解析,找到指定节点后,再抓取我们需要的内容,过程有点繁琐.LZ总结了几种常用的.易于实现 ...

  6. Nutch网页抓取速度优化

    Nutch网页抓取速度优化 Here are the things that could potentially slow down fetching 1) DNS setup 2) The numb ...

  7. Spider_基础总结5--动态网页抓取--元素审查--json--字典

    # 静态网页在浏览器中展示的内容都在HTML的源码中,但主流网页使用 Javascript时,很多内容不出现在HTML的源代码中,此时仍然使用 # requests+beautifulsoup是不能够 ...

  8. Spider--动态网页抓取--审查元素

    # 静态网页在浏览器中展示的内容都在HTML的源码中,但主流网页使用 Javascript时,很多内容不出现在HTML的源代码中,我们需要使用动态网页抓取技术. # Ajax: Asynchronou ...

  9. java网页抓取

    网页抓取就是,我们想要从别人的网站上得到我们想要的,也算是窃取了,有的网站就对这个网页抓取就做了限制,比如百度 直接进入正题 //要抓取的网页地址 String urlStr = "http ...

随机推荐

  1. Spring事务Transactional和动态代理(二)-cglib动态代理

    系列文章索引: Spring事务Transactional和动态代理(一)-JDK代理实现 Spring事务Transactional和动态代理(二)-cglib动态代理 Spring事务Transa ...

  2. 微信小程序学习简介

    如何向微信小程序导入DEMO源码: 参考方法 参考学习小程序官方文档 小程序官方文档 小程序目录简介 app.json :设置一些工程全局的量.js : 写一些函数逻辑.wxml: 调用.js中写的函 ...

  3. Flex布局做出自适应页面--语法和案例

    本文发布在: github项目地址:https://github.com/tenadolanter/flex-layout-demo SegmentFault地址:https://segmentfau ...

  4. python初学者必看学习路线图!!!

    python应该是近几年比较火的语言之一,很多人刚学python不知道该如何学习,尤其是没有编程基础想要从事程序员工作的小白,想必应该都会有此疑惑,包括我刚学python的时候也是通过从网上查找相关资 ...

  5. django 登录、注册

    一.登录 1.在blogapp同级目录下新建一个userapp python manage.py startapp users 目录结构如下: 2.在主项目urls.py中新建users的includ ...

  6. docker 学习之路 将docker容器变为镜像并上传

    环境 ubunt 16.4 去hub.docker.com上注册一个账号,并在账号中注册一个公有public或者私有仓库private 步骤如下 如上图 点击该处进入创建docker库页面 除了名字之 ...

  7. python3.7安装pygame

    经过各种找,下面这个安装地址中的版本是最全的 下载地址:https://www.lfd.uci.edu/~gohlke/pythonlibs/#pygame 本机python版本

  8. vue基础----修饰符,watch,computed,method实例方法

    1.vue常用的修饰符,number,trim,number--->当作数字,trim-->去掉前后空格 2.methods与计算属性 computed 的相同与区别 <body&g ...

  9. vim不能使用小键盘

    使用终端登录Linux后使用vim编辑文本,这时在默认设置下载插入模式使用小键盘会插入一些非数字的字符. 更改的方法: 在终端设置中选择终端类型为linux

  10. Centos7报Could not resolve host: mirrorlist.centos.org; Unknown error(VMware网络设置)

    软件:VMware 12 Linux版本:centOS 7 网络设置:桥接模式 安装后ping百度网址时报错:Name or service not know,使用yum安装时报错:Could not ...