爬虫概念
什么是爬虫?
- 概念:编写程序去互联网上爬取数据的过程
哪些语言可以实现爬虫?
- java
- php
- c/c++
- python:提供了无限的模块
爬虫的分类
- 聚焦爬虫:“抓取系统”
- 通用爬虫:根据制定的需求获取网页中制定的数据值
问题:爬虫程序如何获取网站中的数据值?
- 主动提交url
- 搜索引擎公司会和DNS服务商进行合作
- robots.txt:口头的协议。如果门户网站指定了该协议后,表示该门户拒绝搜索引擎和爬虫程序爬去网站中的数据。
http协议
附:HTTP教程
什么是http协议?
- 服务器和客户端之间传输数据的一种形式
HTTP 工作原理?
- HTTP协议工作于客户端-服务端架构为上。浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求。
- Web服务器有:Apache服务器,IIS服务器(Internet Information Services)等。
- Web服务器根据接收到的请求后,向客户端发送响应信息。
- HTTP默认端口号为80,但是你也可以改为8080或者其他端口。
HTTP三点注意事项:
- HTTP是无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。
- HTTP是媒体独立的:这意味着,只要客户端和服务器知道如何处理的数据内容,任何类型的数据都可以通过HTTP发送。客户端以及服务器指定使用适合的MIME-type内容类型。
- HTTP是无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。
一个http请求都包含什么?
- 请求行:上图中的1,2,3
- 请求头:
- 请求体:
- 常用的请求头: Accept-charsets:浏览器支持的字符类型
get 和post请求:
- GET产生的URL地址可以被Bookmark,而POST不可以。
- GET请求会被浏览器主动cache,而POST不会,除非手动设置。
- GET请求只能进行url编码,而POST支持多种编码方式。
- GET请求参数会被完整保留在浏览器历史记录里,而POST中的参数不会被保留。
- GET请求在URL中传送的参数是有长度限制的,而POST么有。
- 对参数的数据类型,GET只接受ASCII字符,而POST没有限制。
- GET比POST更不安全,因为参数直接暴露在URL上,所以不能用来传递敏感信息。
- GET参数通过URL传递,POST放在Request body中。
https协议?
- HTTPS(全称:Hyper Text Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。
- ssl
https和http的区别?
- 超文本传输协议HTTP协议被用于在Web浏览器和网站服务器之间传递信息。HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此HTTP协议不适合传输一些敏感信息,比如信用卡号、密码等。
- 为了解决HTTP协议的这一缺陷,需要使用另一种协议:安全套接字层超文本传输协议HTTPS。为了数据传输的安全,HTTPS在HTTP的基础上加入了SSL协议,SSL依靠证书来验证服务器的身份,并为浏览器和服务器之间的通信加密。
HTTPS和HTTP的区别主要为以下四点:
- (1)、https协议需要到ca申请证书,一般免费证书很少,需要交费。
- (2)、http是超文本传输协议,信息是明文传输,https 则是具有安全性的ssl加密传输协议。
- (3)、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
- (4)、http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。
fiddler
什么是fiddler?
- 专业的抓包工具,青花瓷
配置: - 配置可以抓取https请求的操作
- 专业的抓包工具,青花瓷
- 有些浏览器也自带抓包工具
fiddler的基本使用:
右上:请求区域
- header:请求的头信息(UA,cookie)
- WebForms:请求对象中夹带的数据值
- Raw:请求对象中主要的详情
- json:接口
- XML:接口
- 右下:响应区域
评论 (0)