本文主要介绍 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. 7-9 jmu-python-异常-学生成绩处理专业版 (25 分)

    小明在帮助老师统计成绩,老师给他的是一组数据.数据的第1行代表学生数n,后面的n行代表每个学生的成绩.成绩是整数类型.小明编写了一个程序,该程序可以批量处理数据,统计所有学生的平均分.当数据没有任何错 ...

  2. 使用SpringMVC实现文件上传和下载

    文件上传 第一步,加入jar包: commons-fileupload-1.3.1.jar commons-io-2.4.jar 第二步,在SpringMVC配置文件中配置CommonsMultipa ...

  3. Vmware安装的linux系统开机黑屏,关闭显示虚拟机忙怎么怎么解决?

    在vm虚拟机中,可能会遇到打开一台主机直接黑屏,而且无法关闭,关闭会显示虚拟机繁忙这种情况,如下图: 一般是因为没有正常关机或者操作不当导致的   对此,解决办法一般有两种 第一种方法: 1.重启电脑 ...

  4. postman设置测试环境

    有时需要我们在不同的环境下跑相同的测试,就可以通过postman设置环境 展开环境切换下拉列表,点击[Manage Environments]

  5. RStudio终端操作

    转于:https://support.rstudio.com/hc/en-us/articles/115010737148-Using-the-RStudio-Terminal#send 原文是英文版 ...

  6. Drf(DjangoRestFramewok)

    第一部分 问题 1.前后端分离? vue.js 后端给前段返回json数据 2.移动端盛行. app 后端给app返回json数据 3.PC端应用? crm项目,前段后端一起写,运行在浏览器上. 一般 ...

  7. const 详解

    ​ 简单分类:          常变量        const 类型 变量名  或者   类型 const  变量名          常引用        const 类型& 引用名   ...

  8. ui自动化chrome文件上传操作

    web自动化,再chrome浏览器中文件上传操作

  9. Axure 文本框去掉边框 富文本 粘贴文字图标

    在今天做原型的过程中,碰到两个问题: 1 文本框该如何去掉边框 2 富文本粘贴文字图标 第一个问题:首先是思路错了,又跑到元件上面找边框,跑到style里面去border的线,结果是不成功. 正解:属 ...

  10. 在Centos系统中基于PowerDNS和Poweradmin自建域名解析服务器替代DnsPod

    本文讲述了我在Centos 7系统(其他版本的Centos未尝试)中基于PowerDNS和poweradmin自建域名解析服务器替代DnsPod的过程.通过本文所述方法,可以建立权威域名解析服务器的m ...