爬虫代理的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程序与C程序的结合使用
Apr 07 Python
python对指定目录下文件进行批量重命名的方法
Apr 18 Python
Python中的模块导入和读取键盘输入的方法
Oct 16 Python
Windows下搭建python开发环境详细步骤
Jul 20 Python
Django实现登录随机验证码的示例代码
Jun 20 Python
强悍的Python读取大文件的解决方案
Feb 16 Python
python3反转字符串的3种方法(小结)
Nov 07 Python
Django模板标签中url使用详解(url跳转到指定页面)
Mar 19 Python
Python GUI编程学习笔记之tkinter中messagebox、filedialog控件用法详解
Mar 30 Python
python print 格式化输出,动态指定长度的实现
Apr 12 Python
python 实时调取摄像头的示例代码
Nov 25 Python
使用Python解决图表与画布的间距问题
Apr 11 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
基于MySQL到MongoDB简易对照表的详解
2013/06/03 PHP
基于PHP给大家讲解防刷票的一些技巧
2015/11/18 PHP
理清PHP在Linxu下执行时的文件权限方法
2017/06/07 PHP
Yii2.0多文件上传实例说明
2017/07/24 PHP
用jquery模仿的a的title属性(兼容ie6/7)
2013/01/21 Javascript
JS 跳转页面延迟2种方法
2013/03/29 Javascript
js获取控件位置以及不同浏览器中的差别介绍
2013/08/08 Javascript
各浏览器对document.getElementById等方法的实现差异解析
2013/12/05 Javascript
原生js和jquery中有关透明度设置的相关问题
2014/01/08 Javascript
jquery实现checkbox 全选/全不选的通用写法
2014/02/22 Javascript
JQuery 控制内容长度超出规定长度显示省略号
2014/05/23 Javascript
jQuery实现带滚动线条导航效果的方法
2015/01/30 Javascript
JavaScript获取文本框内选中文本的方法
2015/02/20 Javascript
JS使用ajax从xml文件动态获取数据显示的方法
2015/03/24 Javascript
JS截取与分割字符串常用技巧总结
2015/11/10 Javascript
Node.js Streams文件读写操作详解
2016/07/04 Javascript
详解React-Todos入门例子
2016/11/08 Javascript
jQuery zTree树插件动态加载实例代码
2017/05/11 jQuery
vue init webpack myproject构建项目 ip不能访问的解决方法
2018/03/20 Javascript
[02:17]DOTA2亚洲邀请赛 RAVE战队出场宣传片
2015/02/07 DOTA
[01:18]PWL开团时刻DAY10——一拳超人
2020/11/11 DOTA
python实现人脸识别代码
2017/11/08 Python
Python之ReportLab绘制条形码和二维码的实例
2018/01/15 Python
python直接获取API传递回来的参数方法
2018/12/17 Python
Django 路由层URLconf的实现
2019/12/30 Python
keras 指定程序在某块卡上训练实例
2020/06/22 Python
在 Python 中使用 MQTT的方法
2020/08/18 Python
重新定义牛仔布,100美元以下:Warp + Weft
2018/07/25 全球购物
静态成员和非静态成员的区别
2012/05/12 面试题
高中数学教师求职信
2013/10/30 职场文书
教育专业个人求职信
2013/12/02 职场文书
创业计划书怎样才能打动风投
2014/01/01 职场文书
给老婆大人的检讨书
2014/02/24 职场文书
辞职信格式模板
2015/02/27 职场文书
民事答辩状格式范文
2015/05/21 职场文书
SQL Server中使用判断语句(IF ELSE/CASE WHEN )案例
2021/07/07 SQL Server