博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
爬虫-----数据采集的基本原理
阅读量:5879 次
发布时间:2019-06-19

本文共 1179 字,大约阅读时间需要 3 分钟。

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

转载于:https://www.cnblogs.com/george92/p/7363733.html

你可能感兴趣的文章
Python内置函数property()使用实例
查看>>
Spring MVC NoClassDefFoundError 问题的解决方法。
查看>>
CentOS 6.9配置网卡IP/网关/DNS命令详细介绍及一些常用网络配置命令(转)
查看>>
python基础教程_学习笔记19:标准库:一些最爱——集合、堆和双端队列
查看>>
C# 解决窗体闪烁
查看>>
CSS魔法堂:Transition就这么好玩
查看>>
【OpenStack】network相关知识学习
查看>>
centos 7下独立的python 2.7环境安装
查看>>
[日常] 算法-单链表的创建
查看>>
前端工程化系列[01]-Bower包管理工具的使用
查看>>
使用 maven 自动将源码打包并发布
查看>>
Spark:求出分组内的TopN
查看>>
Python爬取豆瓣《复仇者联盟3》评论并生成乖萌的格鲁特
查看>>
关于跨DB增量(增、改)同步两张表的数据小技巧
查看>>
学员会诊之03:你那惨不忍睹的三层架构
查看>>
vue-04-组件
查看>>
Golang协程与通道整理
查看>>
解决win7远程桌面连接时发生身份验证错误的方法
查看>>
C/C++ 多线程机制
查看>>
js - object.assign 以及浅、深拷贝
查看>>