数据的来源
- 企业生产的用户数据
- 数据管理咨询公司
- 政府 / 机构提供的公开的数据
- 第三方数据平台购买数据
- 爬虫爬取数据
爬虫怎么抓取网页上的数据
网页三大特征:
- 网页都有自己唯一的URL
- 网页都是HTML来描述页面信息
- 网页都使用HTTP / HTTPS协议来传输HTML数据
爬虫的设计思路
- 确定需要爬取的URL地址
- 通过HTTP / HTTPS协议获取对应的HTML页面
- 提取HTML页面有用的数据
通用爬虫和聚焦爬虫工作流程
HTTP和HTTPS协议
HTTP协议简介
协议
概念:通信计算机双方必须共同遵从的一组约定,只有遵守这个约定,计算机之间才能相互通信
HTTP协议(HyperText Transfer Protocol,超文本传输协议):是一种发布和接收 HTML页面的方法。
HTTPS(Hypertext Transfer Protocol over Secure Socket Layer)简单讲是HTTP的安全版,在HTTP下加入SSL层
SSL(Secure Sockets Layer 安全套接层)主要用于Web的安全传输协议,在传输层对网络连接进行加密,保障在Internet上数据传输的安全
- HTTP的端口号为80
- HTTPS的端口号为443
HTTP的请求与响应
HTTP通信由两部分组成:客户端请求消息与服务器响应消息
- 当用户在浏览器的地址栏中输入一个URL并按回⻋键之后,浏览器会向HTTP服务器发送HTTP请求。HTTP请求主要分为“Get”和“Post”两种方法。
- 当我们在浏览器输入URLhttp://www.baidu.com的时候,浏览器发送一个Request请求去获取http://www.baidu.com的html文件,服务器把Response文件对象发送回给浏览器。
- 浏览器分析Response中的 HTML,发现其中引用了很多其他文件,比如Images文件,CSS文件,JS文件。浏览器会自动再次发送Request去获取图片,CSS文件,或者JS文件
- 当所有的文件都下载成功后,网页会根据HTML语法结构,完整的显示出来了。
URL:统一资源定位符,是用于完整地描述Internet上网⻚和其他资源的地址的一种标识方法。
基本格式:scheme://host[:port#]/path/…/[?query-string][#anchor]
- scheme:协议(例如:http, https, ftp)
- host:服务器的IP地址或者域名
- port#:服务器的端口(如果是走协议默认端口,缺省端口80)
- path:访问资源的路径
- query-string:参数,发送给http服