PYTHON 七月 18, 2019

1.爬虫入门了解

文章字数 3.6k 阅读约需 3 mins. 阅读次数 1000000


爬虫概念


什么是爬虫?

  • 概念:编写程序去互联网上爬取数据的过程

哪些语言可以实现爬虫?

  • 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
  • 请求头:
  • 请求体:

learn-url

  • 常用的请求头: 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%