爬虫代理的cookie如何生成运行


Posted in Python onSeptember 22, 2020

HTTP是用于互联网传输数据信息到本地的一种传送协议

我们在浏览器中输入输入关键词,会返回页面内容。这就是我们用浏览器向网站所在的服务器发送了一个请求,网站的服务器接收到这个请求后进行解析,然后把网页内容呈现出来。

有时候服务器网站会检测IP在一个时间段内的请求次数,如果过于频繁,就会拒绝服务,简称为封IP。

HTTP代理就是用别人的IP进行访问,进行IP伪装。

除非是访问网站或APP专用数据api接口,正常的HTTP请求都需要进行ua(User-Agent)优化,因为ua是浏览器标识,如果http请求没有ua,或ua太少,都会被网站运维统计异常的,ua越丰富分布就越真实。cookie最好是登陆获取的,一般访客的cookie,对方限制会比较严格,可以控制一个地区新访客的访问频率。另外反爬统计的js也要分析下,是不是做了机器人判断,有没有做窗口分辨率判断等。

生成cookie:

import os
import time
import zipfile

from selenium import webdriver
from selenium.common.exceptions import TimeoutException
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.ui import WebDriverWait


class GenCookies(object):
  USER_AGENT = open('useragents.txt').readlines()
  # www.16yun.cn 代理配置
  PROXY_HOST = 't.16yun.cn' # proxy or host
  PROXY_PORT = 31111 # port
  PROXY_USER = 'USERNAME' # username
  PROXY_PASS = 'PASSWORD' # password
def open(self):
    """
    打开网页输入用户名密码并点击
    :return: None
    """
    self.browser.delete_all_cookies()
    self.browser.get(self.url)
    username = self.wait.until(EC.presence_of_element_located((By.ID, 'loginName')))
    password = self.wait.until(EC.presence_of_element_located((By.ID, 'loginPassword')))
    submit = self.wait.until(EC.element_to_be_clickable((By.ID, 'loginAction')))
    username.send_keys(self.username)
    password.send_keys(self.password)
    time.sleep(1)
    submit.click()

  def password_error(self):
    """
    判断是否密码错误
    :return:
    """
    try:
      return WebDriverWait(self.browser, 5).until(
        EC.text_to_be_present_in_element((By.ID, 'errorMsg'), '用户名或密码错误'))
    except TimeoutException:
      return False

  def get_cookies(self):
    """
    获取Cookies
    :return:
    """
    return self.browser.get_cookies()

运行cookie:

API接口开始运行
* Running on http://0.0.0.0:5000/ (Press CTRL+C to quit)
Cookies生成进程开始运行
Cookies检测进程开始运行
正在生成Cookies 账号 180000000 密码 16yun
正在测试Cookies 用户名 180000000
Cookies有效 180000000

如果HTTP请求成功,HTTP的状态码会返回200且返回数据。当然其他HTTP其他状态码也有,403表示禁止访问,504服务器内部出错等等。

以上就是爬虫代理的cookie如何生成运行的详细内容,更多关于爬虫代理 cookie的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
Python对数据库操作
Mar 28 Python
Python读取图片属性信息的实现方法
Sep 11 Python
Python基于回溯法子集树模板解决旅行商问题(TSP)实例
Sep 05 Python
在Python中给Nan值更改为0的方法
Oct 30 Python
一篇文章彻底搞懂Python中可迭代(Iterable)、迭代器(Iterator)与生成器(Generator)的概念
May 13 Python
Pytorch Tensor基本数学运算详解
Dec 30 Python
python pptx复制指定页的ppt教程
Feb 14 Python
使用卷积神经网络(CNN)做人脸识别的示例代码
Mar 27 Python
keras中模型训练class_weight,sample_weight区别说明
May 23 Python
浅谈Python中的生成器和迭代器
Jun 19 Python
通过实例解析Python RPC实现原理及方法
Jul 07 Python
解决使用Pandas 读取超过65536行的Excel文件问题
Nov 10 Python
python 如何将office文件转换为PDF
Sep 22 #Python
Python制作一个仿QQ办公版的图形登录界面
Sep 22 #Python
Python使用for生成列表实现过程解析
Sep 22 #Python
python实现发送带附件的邮件代码分享
Sep 22 #Python
使用Python绘制台风轨迹图的示例代码
Sep 21 #Python
利用python绘制中国地图(含省界、河流等)
Sep 21 #Python
python利用google翻译方法实例(翻译字幕文件)
Sep 21 #Python
You might like
PHP5.5在windows安装使用memcached服务端的方法
2014/04/16 PHP
php实现用户登陆简单实例
2017/04/04 PHP
php微信公众号开发之图片回复
2018/10/20 PHP
网页打开自动最大化的js代码
2012/08/22 Javascript
用显卡加速,轻松把笔记本打造成取暖器的办法!
2013/04/17 Javascript
javascript一元操作符(递增、递减)使用示例
2013/08/07 Javascript
jQuery实现复选框批量选择与反选的方法
2015/06/17 Javascript
JS实现的倒计时恢复按钮点击功能【可用于协议阅读倒计时】
2018/04/19 Javascript
Vue实现移动端左右滑动效果的方法
2018/11/27 Javascript
Vue-input框checkbox强制刷新问题
2019/04/18 Javascript
微信小程序云开发 生成带参小程序码流程
2019/05/18 Javascript
layui监听单元格编辑前后交互的例子
2019/09/16 Javascript
Js视频播放器插件Video.js使用方法详解
2020/02/04 Javascript
[58:32]EG vs Liquid 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
基于Python实现的百度贴吧网络爬虫实例
2015/04/17 Python
查看Python安装路径以及安装包路径小技巧
2015/04/28 Python
Python Socket传输文件示例
2017/01/16 Python
python操作列表的函数使用代码详解
2017/12/28 Python
Python根据已知邻接矩阵绘制无向图操作示例
2018/06/23 Python
Python实现查找最小的k个数示例【两种解法】
2019/01/08 Python
python爬虫项目设置一个中断重连的程序的实现
2019/07/26 Python
pytorch的梯度计算以及backward方法详解
2020/01/10 Python
Django ValuesQuerySet转json方式
2020/03/16 Python
Django模型中字段属性choice使用说明
2020/03/30 Python
Python 3.9的到来到底是意味着什么
2020/10/14 Python
css3 media 响应式布局的简单实例
2016/08/03 HTML / CSS
HTML5 Canvas中使用路径描画二阶、三阶贝塞尔曲线
2015/01/01 HTML / CSS
HTML5全屏(Fullscreen)API详细介绍
2015/04/24 HTML / CSS
全面解析HTML5中的标准属性与自定义属性
2016/02/18 HTML / CSS
大学生入党思想汇报
2014/01/14 职场文书
爱情保证书范文
2014/02/01 职场文书
优秀学生事迹材料
2014/02/08 职场文书
2015年团队工作总结范文
2015/05/04 职场文书
李强为自己工作观后感
2015/06/11 职场文书
2016年离婚协议书范文
2016/03/18 职场文书
教你怎么用Python selenium操作浏览器对象的基础API
2021/06/23 Python