zoukankan      html  css  js  c++  java
  • 爬虫-----数据采集的基本原理

    常见的称谓是网页抓屏(screen scraping)、数据挖掘(data mining)、网络收割(Web harvesting)或其他类似的版本。器人(bots)。

    理论上,网络数据采集是一种通过多种手段收集网络数据的方式,不光是通过与 API 交互 (或者直接与浏览器交互)的方式。最常用的方法是写一个自动化程序向网络服务器请求

    数据(通常是用 HTML 表单或其他网页文件),然后对数据进行解析,提取需要的信息。

    实践中,网络数据采集涉及非常广泛的编程技术和手段,比如数据分析、信息安全等。本 书将在第一部分介绍关于网络数据采集和网络爬行(crawling)的基础知识,一些高级主 题放在第二部分介绍。 

    网络数据采集的基本原理

    Python从网络服务器请求信息

    如何对服务器的响应进行基本处理

    如何以自动化手段与网站进行交互

    • 通过网站域名获取 HTML 数据
    • 根据目标信息解析数据
    • 存储目标信息
    • 如果有必要,移动到另一个网页重复这个过程 

    先向网络服务器发出GET请求,以获取具体的页面。再从页面中读取HTML的内容,在进一步的进行数据的筛选。

    一次client对Server请求的流程:

      1 client发出1/0的比特值,表示电路的高低电压,比特值会形成一种信息,带有请求头和请求体,头里有client的本地router的mac ip 和Server的ip。体里有client对Server应用的请求。

      2 client的本地router收到所有1和0的比特值,把他们理解成一个数据包(packet),从client的mac ip发从到Server的ip。client端的router会把数据包打上router的ip,以router的ip作为发件地址,发出。

      3 client的数据包在经过一些跳转服务器,到Server端

      4 Server端的ip在收到client发来的数据包。

      5 Server端在读取数据包的请求头里的目标端口,然后把他传递到对应的应用,网络服务器上。

      6 网络服务器应用从服务器处理器收到数据,数据一般是一个GET请求,和请求文件index.html

      7 网络服务器应用找到对应的html文件,把它打包成一个新的数据包再发送给client,然后通过它的本地router发出去,用同样的过程回传到client上。

    解析复杂html:

      

    这部分内容重点介绍网络数据采集的基本原理:如何用 Python 从网络服务器请求信息,如 何对服务器的响应进行基本处理,以及如何以自动化手段与网站进行交互。最终,你将轻 松游弋于网络空间,创建出具有域名切换、信息收集以及信息存储功能的爬虫 

  • 相关阅读:
    JavaScript Patterns 5.7 Object Constants
    JavaScript Patterns 5.6 Static Members
    JavaScript Patterns 5.5 Sandbox Pattern
    JavaScript Patterns 5.4 Module Pattern
    JavaScript Patterns 5.3 Private Properties and Methods
    JavaScript Patterns 5.2 Declaring Dependencies
    JavaScript Patterns 5.1 Namespace Pattern
    JavaScript Patterns 4.10 Curry
    【Android】如何快速构建Android Demo
    【Android】如何实现ButterKnife
  • 原文地址:https://www.cnblogs.com/george92/p/7363733.html
Copyright © 2011-2022 走看看