爬虫 ----了解爬虫 爬虫的虚拟环境 http和https

爬虫

  • 爬虫?
      • 什么是爬虫?
      • 获取数据几种途径
      • 爬虫的作用
      • 爬虫需要知识
      • 爬虫的分类
      • 爬虫的流程
      • web 共同点
      • Robots协议
  • 虚拟环境
        • **Python虚拟环境搭建和使用**Ubuntu下配置virtualenv和virtualenvwrapper
  • http和https

爬虫?

什么是爬虫?

网络爬虫(又被称为网页蜘蛛,网络机器人), 是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。
简单来说:就是一个爬取web或者app数据的程序,他又名数据采集。

获取数据几种途径

  • 用户产生数据 百度指数
  • 数据平台购买数据 聚合数据
  • 政府公开数据 统计局数据

爬虫的作用

  • 数据分析
  • 购物助手
  • 咨询网站
  • 搜索引擎

爬虫需要知识

  • Python 基础知识
  • HTML 基础知识
  • 数据持久化知识
  • Scrapy框架知识
    爬虫 ----了解爬虫 爬虫的虚拟环境 http和https_第1张图片

爬虫的分类

  • 通用爬虫

    • 不管什么样的诗剧都给你爬下来爬虫 ----了解爬虫 爬虫的虚拟环境 http和https_第2张图片
    • 通用网络爬虫 是 捜索引擎抓取系统(Baidu、Google、Yahoo等)的重要组成部分。主要目的是将互联网上的网页下载到本地,形成一个互联网内容的镜像备份。
  • 聚焦爬虫

    • 聚焦爬虫,是"面向特定主题需求"的一种网络爬虫程序,它与通用搜索引擎爬虫的区别在于:
  • 不同

    • 聚焦爬虫在实施网页抓取时会对内容进行处理筛选,尽量保证只抓取与需求相关的网页信息。

爬虫的流程

1、定位url的时候,要简单处理一下URL的参数
2、分析URL的参数(参数的变化)
3、发生请求
4、解析数据

web 共同点

  • 1、每个网页都有唯一的URL(资源定位符)
  • 2、网页一定是html css js 组成的
  • 3、网页数据通过htpp https传输的

Robots协议

全称是“网络爬虫排除标准”(Robots Exclusion Protocol),网站通过Robots协议告诉搜索引擎哪些页面可以抓取,哪些页面不能抓取,

例如:https://www.jd.com/robots.txt

虚拟环境

Python虚拟环境搭建和使用Ubuntu下配置virtualenv和virtualenvwrapper

一、安装环境

sudo pip3 install virtualenv -i https://pypi.douban.com/simple/

二、安装virtualenvwrapper

sudo pip3 install virtualenvwrapper -i https://pypi.douban.com/simple/

三、配置

  • sudo vim ~/.bashrc
export WORKON_HOME=/home/ljh/.virtualenvs 
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3.5 
source  /usr/local/bin/virtualenvwrapper.sh
  • source ~/.bashrc

四、创建虚拟环境

mkvirtualenv testlev

五、切换虚拟环境

workon testlev

六、关闭虚拟环境

deactivate testlev

七、删除虚拟环境

rmvirtualenv testlev

http和https

  • HTTP协议

    • 中文名叫超文本传输协议: 是用于从网络传送超文本数据到本地浏览器的传送协议
  • HTTPS协议

    • 简单讲是HTTP的安全版,在HTTP协议的基础上加入SSL层(HTTP+SSL) 。 SSL(Secure Sockets Layer 安全套接层)主要用于Web的安全传输协议,在传输层对网络连接进行加密,保障在Internet上数据传输的安全。
  • 端口

    • HTTP的端口号为80HTTPS的端口号为443
  • SSL

    • HTTPS的安全基础是SSL,因此通过它可以传输的内容都是经过SSL加密的
      • 建立一个安全有效的信息传送通道,保证数据传送的安全性
      • 确定网站的真实性和有效性
  • 请求与响应

    • 1.域名解析 -->

      2.发起TCP的3次握手 -->

      3.建立TCP连接后发起http请求 -->

      4.服务器响应http请求,浏览器得到html代码 -->

      5.浏览器解析html代码,并请求html代码中的资源(如js、css、图片等) -->

      6.浏览器对页面进行渲染呈现给用户.

    • 爬虫 ----了解爬虫 爬虫的虚拟环境 http和https_第3张图片

  • URL

    • 统一资源定位符,是用于完整地描述Internet上网页和其他资源的地址的一种标识方法。
    • 组成 https://book.qidian.com/info/1004608738#Catalog
      • scheme:协议
      • host:服务器的IP地址或者域名
      • port:服务器的端口
      • path:访问资源的路径
      • query-string:参数
      • anchor:锚
  • 请求方法

    • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hl0hVQj2-1591600818041)(http://tp.jikedaohang.com/20191028104547_VK4hEO_Screenshot.jpeg)]
  • 常用请求头

    • Accept:指定客户端能够接收的内容类型。

    • Accept-Charset :浏览器可以接受的字符编码集。

    • Accept-Encoding:指定浏览器可以支持的web服务器返回内容压缩编码类型。

    • Accept-Language:浏览器可接受的语言。

    • Accept-Ranges:可以请求网页实体的一个或者多个子范围字段。

    • AuthorizationHTTP:授权的授权证书。

    • Cache-Control:指定请求和响应遵循的缓存机制。

    • Connection:表示是否需要持久连接。(HTTP 1.1默认进行持久连接)

    • CookieHTTP:请求发送时,会把保存在该请求域名下的所有cookie值一起发送给web服务器。

    • Content-Length:请求的内容长度。

    • Content-Type:请求的与实体对应的MIME信息。

    • Date:请求发送的日期和时间。

    • Expect:请求的特定的服务器行为。

    • From:发出请求的用户的Email。

    • Host指定请求的服务器的域名和端口号。

    • If-Match只有请求内容与实体相匹配才有效。

    • If-Modified-Since如果请求的部分在指定时间之后被修改则请求成功,未被修改则返回304代码。

    • If-None-Match如果内容未改变返回304代码,参数为服务器先前发送的Etag,与服务器回应的Etag比较判断是否改变。

    • If-Range如果实体未改变,服务器发送客户端丢失的部分,否则发送整个实体。

    • If-Unmodified-Since只在实体在指定时间之后未被修改才请求成功。

    • Max-Forwards限制信息通过代理和网关传送的时间。

    • Pragma用来包含实现特定的指令。

    • Proxy-Authorization连接到代理的授权证书。

    • Range只请求实体的一部分,指定范围。

    • Referer先前网页的地址,当前请求网页紧随其后,即来路。

    • TE客户端愿意接受的传输编码,并通知服务器接受接受尾加头信息。

    • Upgrade向服务器指定某种传输协议以便服务器进行转换(如果支持。

    • User-Agent 是否是浏览器。

    • Via通知中间网关或代理服务器地址,通信协议。

    • Warning关于消息实体的警告信息

  • 响应头

    • Accept-Ranges表明服务器是否支持指定范围请求及哪种类型的分段请求。

    • Age从原始服务器到代理缓存形成的估算时间(以秒计,非负)。

    • Allow对某网络资源的有效的请求行为,不允许则返回405。

    • Cache-Control告诉所有的缓存机制是否可以缓存及哪种类型。

    • Content-Encodingweb服务器支持的返回内容压缩编码类型。。

    • Content-Language响应体的语言。

    • Content-Length响应体的长度。

    • Content-Location请求资源可替代的备用的另一地址。

    • Content-MD5返回资源的MD5校验值。

    • Content-Range在整个返回体中本部分的字节位置。

    • Content-Type返回内容的MIME类型。

    • Date原始服务器消息发出的时间。

    • ETag请求变量的实体标签的当前值。

    • **Expire:**响应过期的日期和时间。

    • Last-Modified请求资源的最后修改时间。

    • Location用来重定向接收方到非请求URL的位置来完成请求或标识新的资源。

    • Pragma包括实现特定的指令,它可应用到响应链上的任何接收方。

    • Proxy-Authenticate它指出认证方案和可应用到代理的该URL上的参数。

    • refresh应用于重定向或一个新的资源被创造,在5秒之后重定向(由网景提出,被大部分浏览器支持)

    • Retry-After如果实体暂时不可取,通知客户端在指定时间之后再次尝试。

    • Serverweb服务器软件名称。

    • Set-Cookie设置Http Cookie。

    • Trailer指出头域在分块传输编码的尾部存在。

    • Transfer-Encoding文件传输编码。

    • Vary告诉下游代理是使用缓存响应还是从原始服务器请求。

    • Via告知代理客户端响应是通过哪里发送的。

    • Warning警告实体可能存在的问题。

    • WWW-Authenticate表明客户端请求实体应该使用的授权方案。

  • 状态码

    • 200 - 请求成功
    • 301 - 资源(网页等)被永久转移到其它URL
    • 302 - 资源(网页等)被临时转移到其它URL
    • 401 - 未授权
    • 403 - 禁止访问
    • 408 - 请求超时
    • 404 - 请求的资源(网页等)不存在
    • 500 - 内部服务器错误
    • 503 - 服务器不可用

你可能感兴趣的:(爬虫)