> 文章列表 > Python使用HTTP和HTTPS

Python使用HTTP和HTTPS

Python使用HTTP和HTTPS

HTTP协议(HyperText Transfer Protocol,超文本传输协议):是一种发布和接收 HTML页面的方法,以明文的形式传输,效率高,但是不安全

  HTTPS(Hypertext Transfer Protocol over Secure Socket Layer)HTTP的安全版,在HTTP下加入SSL层,传输之前数据进行加密,之后解密获取内容,效率低,安全

  SSL(Secure Sockets Layer 安全套接层)主要用于Web的安全传输协议,在传输层对网络连接进行加密,保障在Internet上数据传输的安全。

网络爬虫抓取过程可以理解为模拟浏览器操作的过程。

  浏览器的主要功能是向服务器发出请求,在浏览器窗口中展示您选择的网络资源,HTTP是一套计算机通过网络进行通信的规则

  1. 当用户在浏览器的地址栏中输入一个URL并按回车键之后,浏览器会向HTTP服务器发送HTTP请求。HTTP请求主要分为“Get”和“Post”两种方法。
  2. 当我们在浏览器输入URL http://www.baidu.com 的时候,浏览器发送一个Request请求去获取 http://www.baidu.com 的html文件,服务器把Response文件对象发送回给浏览器。
  3. 浏览器分析Response中的 HTML,发现其中引用了很多其他文件,比如Images文件,CSS文件,JS文件。 浏览器会自动再次发送Request去获取图片,CSS文件,或者JS文件。  
  • 不同于浏览器请求URL,爬虫请求URL地址,则以当前URL地址对应的响应为准提取数据(network中找到当前URL,点击response或页面右击显示网页源码)
#! -*- encoding:utf-8 -*-import requests# 要访问的目标页面targetUrl = "http://ip.hahado.cn/ip"# 代理服务器proxyHost = "ip.hahado.cn"proxyPort = "39010"# 代理隧道验证信息proxyUser = "username"proxyPass = "password"proxyMeta = "http://%(user)s:%(pass)s@%(host)s:%(port)s" % {"host" : proxyHost,"port" : proxyPort,"user" : proxyUser,"pass" : proxyPass,}proxies = {"http"  : proxyMeta,"https" : proxyMeta,}resp = requests.get(targetUrl, proxies=proxies)print resp.status_codeprint resp.text