爬虫代理的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和shell变量互相传递的几种方法
Nov 20 Python
Python实现微信公众平台自定义菜单实例
Mar 20 Python
Python计算字符宽度的方法
Jun 14 Python
Python随机生成手机号、数字的方法详解
Jul 21 Python
Python编程实现线性回归和批量梯度下降法代码实例
Jan 04 Python
django admin 后台实现三级联动的示例代码
Jun 22 Python
python实现低通滤波器代码
Feb 26 Python
Python发送手机动态验证码代码实例
Feb 28 Python
Python类的绑定方法和非绑定方法实例解析
Mar 04 Python
Python实现获取当前目录下文件名代码详解
Mar 10 Python
python+selenium 脚本实现每天自动登记的思路详解
Mar 11 Python
python实现银行账户系统
Feb 22 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
php date()日期时间函数详解
2010/05/16 PHP
两种php去除二维数组的重复项方法
2015/11/04 PHP
PHP二维数组实现去除重复项的方法【保留各个键值】
2017/12/21 PHP
laravel validate 设置为中文的例子(验证提示为中文)
2019/09/29 PHP
PHP7原生MySQL数据库操作实现代码
2020/07/03 PHP
JavaScript Perfection kill 测试及答案
2010/03/23 Javascript
微信分享的标题、缩略图、连接及描述设置方法
2014/10/14 Javascript
Javascript模拟加速运动与减速运动代码分享
2014/12/11 Javascript
jQuery中DOM树操作之复制元素的方法
2015/01/23 Javascript
JQuery显示隐藏页面元素的方法总结
2015/04/16 Javascript
javascript实现table选中的行以指定颜色高亮显示的方法
2015/05/13 Javascript
浅谈JavaScript异常处理语句
2015/06/26 Javascript
EasyUI 中combotree 默认不能选择父节点的实现方法
2016/11/07 Javascript
JS调用打印机功能简单示例
2016/11/28 Javascript
JavaScript实现弹窗效果代码分析
2017/03/09 Javascript
jQuery插件FusionWidgets实现的Bulb图效果示例【附demo源码下载】
2017/03/23 jQuery
nodejs个人博客开发第一步 准备工作
2017/04/12 NodeJs
js实现简单数字变动效果
2017/11/06 Javascript
vue添加axios,并且指定baseurl的方法
2018/09/19 Javascript
微信上传视频文件提示(推荐)
2018/11/22 Javascript
如何使用CSS3和JQuery easing 插件制作绚丽菜单
2019/06/18 jQuery
vue 实现超长文本截取,悬浮框提示
2020/07/29 Javascript
python之pandas用法大全
2018/03/13 Python
利用django-suit模板添加自定义的菜单、页面及设置访问权限
2018/07/13 Python
更改Python的pip install 默认安装依赖路径方法详解
2018/10/27 Python
浅谈django2.0 ForeignKey参数的变化
2019/08/06 Python
Html5移动端网页端适配(js+rem)
2021/02/03 HTML / CSS
购买澳大利亚最好的服装和内衣在线:BONDS
2016/10/14 全球购物
利用指针变量实现队列的入队操作
2012/04/07 面试题
民主生活会对照检查材料范文
2014/10/01 职场文书
2014年导购员工作总结
2014/11/18 职场文书
教师师德工作总结2015
2015/07/22 职场文书
基于PyTorch实现一个简单的CNN图像分类器
2021/05/29 Python
Pandas搭配lambda组合使用详解
2022/01/22 Python
解决IDEA翻译插件Translation报错更新TTK失败不能使用
2022/04/24 Python
Android学习之BottomSheetDialog组件的使用
2022/06/21 Java/Android