IP、session和cookie

IP、session和cookie

  • IP
    • IP被封
    • 为什么会出现IP被封
    • 如何应对IP被封的问题
    • 如何获取代理IP地址
      • 使用代理
      • 确认代理IP地址有效性
    • 关于http和https代理
  • session和cookie
    • 前置:动态网页和静态网页
      • 静态网页
      • 动态网页
    • http1.0
    • session和cookies
      • session
      • cookies
    • 一个重要概念
  • selenium
      • 基本步骤:
      • 高级-查找元素:
      • 高级-等待页面加载(wait)
  • 实战案例:模拟登录163

IP

IP地址(英语:IP Address, 全称:Internet Protocol Address),又译为网际协议地址、互联网协议地址。当设备连接网络,设备将被分配一个IP地址,用作标识。通过IP地址,设备间可以互相通讯,如果没有IP地址,我们将无法知道哪个设备是发送方,无法知道哪个是接收方。IP地址有两个主要功能:标识设备或网络 和 寻址(英语:location addressing)。

常见的IP地址分为 IPv4 与 IPv6 两大类,IP地址由一串数字组成。IPv4 由十进制数字组成,并以点分隔,如:172.16.254.1 ; IPv6 由十六进制数字组成,以冒号分割,如:2001:db8:00:567:8:1

IP被封

当我们连续访问一个网站的时候,可能会出现
IP、session和cookie_第1张图片
这就表明我们当前所使用的IP地址已经被该网站暂时封了,需要等一段时间才能解封。

为什么会出现IP被封

网站为了防止被爬取,会有反爬机制,对于同一个IP地址的大量同类型的访问,会封锁IP,过一段时间后,才能继续访问

如何应对IP被封的问题

  1. 等到网站自动解封
    当然啦,我们不可能坐在电脑面前傻等,时间成本太高了,那么面对Ip被封有几种套路:

  2. 修改请求头,模拟浏览器(而不是代码去直接访问)去访问

user_agent = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.119 Safari/537.36'
    headers = {'User-Agent': user_agent}
    r = requests.get(url, headers = headers, timeout = 10)
  1. 采用代理IP并轮换(首先需要获取一系列可用的IP列表进行更换,爬取案例如下)
  2. 设置访问时间间隔

如何获取代理IP地址

  • 从该网站获取: https://www.xicidaili.com/
  • inspect -> 鼠标定位:
  • 要获取的代理IP地址,属于class = "odd"标签的内容:代码如下,获取的代理IP保存在proxy_ip_list列表中
from bs4 import BeautifulSoup
import requests
import re
imp

你可能感兴趣的:(IP、session和cookie)