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 从网络服务器请求信息,如 何对服务器的响应进行基本处理,以及如何以自动化手段与网站进行交互。最终,你将轻 松游弋于网络空间,创建出具有域名切换、信息收集以及信息存储功能的爬虫 

  • 相关阅读:
    java-正则表达式6
    java-正则表达式5
    java-正则表达式4
    java-正则表达式3
    java-正则表达式2
    12.5
    JAVA GUI随笔
    JAVA个人知识总结
    UML关系图
    JAVA中的聚集和组合的区别和联系
  • 原文地址:https://www.cnblogs.com/george92/p/7363733.html
Copyright © 2011-2022 走看看