Python日志23

本文介绍了两种常见的反爬策略:代理IP和Cookie。对于代理IP,讲解了如何在requests和selenium中设置静态及动态获取的代理。而对于Cookie,展示了如何使用requests和selenium实现自动登录,并保存及应用Cookie进行页面访问。通过这些方法,可以有效规避网站的反爬机制。
摘要由CSDN通过智能技术生成

常见的反爬

一、代理IP
  1. requests使用代理:给参数proxies赋值{ ’ https ’ : ‘ip:端口’}

    • 使用固定的代理ip

      response = requests.get(url,headers=headers,proxies={'https': 'xxx.xxx.xxx.xxx:xxxx'})
      
    • 通过请求获取代理ip的地址动态获取最新的代理

      ip = requests.get('http://xxx')
      response = requests.get(url, headers=headers,proxies={'https': '117.70.40.240:4545'})
      
  2. selenium使用代理

    options.add_argument('--proxy-server=http://xxx.xxx.xxx.xxx:xxxx')
    
二、cookie
  1. requests完成自动登录:

    • 网页手动完成登录操作,刷新页面
    • 检查网页源代码,在network的All选项中找到当前页面的请求,获取获取Request Headers中的cookie值
    • 在用requests发送请求的时候给headers赋值,在headers中添加cookie对应的键值对
     headers = {
            'cookie':'xxx'
            'user-agent': 'xxxx'     
     }
     response = requests.get(url, headers=headers)
    
  2. selenium完成自动登录

    • 获取cookie保存到本地
      第一步:创建浏览器对象,打开需要自动登录的网站

      from selenium.webdrive import Chrom
      
      b = Chrome()
      b.get('https: //www.xxx.com/ ')
      

      手动完成登录操作

      input('是否完成:')
      

      获取cookie数据并且保存到本地文件中

      cookies = b.get_cookies()     
      open('files/xxx.txt', 'w ', encoding='utf-8').write(str(cookies))
      
    • 使用cookie

      from selenium.webdriver import Chrome
      from selenium.webdriver.common.keys import Keys
      
      b = Chrome()
      b.get('https://www.xxx.com/')
      
      cookie_list = eval(open('files/xxx.txt', encoding='utf-8').read())
      for cookie in cookie_list:
          b.add_cookie(cookie)
      
      b.get('https://www.xxx.com/')
      
      search = b.find_element_by_id('x')
      search.send_keys('xx')
      search.send_keys(Keys.ENTER)
      
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值