爬虫代理的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中文分词实现方法(安装pymmseg)
Jun 14 Python
详谈Python2.6和Python3.0中对除法操作的异同
Apr 28 Python
tensorflow中next_batch的具体使用
Feb 02 Python
解决nohup重定向python输出到文件不成功的问题
May 11 Python
Python实现繁体中文与简体中文相互转换的方法示例
Dec 18 Python
详解如何在Apache中运行Python WSGI应用
Jan 02 Python
python3+pyqt5+itchat微信定时发送消息的方法
Feb 20 Python
Python异常处理例题整理
Jul 07 Python
pyMySQL SQL语句传参问题,单个参数或多个参数说明
Jun 06 Python
Python流程控制语句的深入讲解
Jun 15 Python
解决Python3.7.0 SSL低版本导致Pip无法使用问题
Sep 03 Python
Python提取视频中图片的示例(按帧、按秒)
Oct 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 adodb操作mysql数据库
2009/03/19 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十五)
2014/06/30 PHP
PHP清除数组中所有字符串两端空格的方法
2014/10/20 PHP
Thinkphp5+uploadify实现的文件上传功能示例
2018/05/26 PHP
PHP执行普通shell命令流程解析
2020/08/24 PHP
js异或加解密效果代码
2008/06/25 Javascript
jquery tablesorter.js 支持中文表格排序改进
2009/12/09 Javascript
很棒的学习jQuery的12个网站推荐
2011/04/28 Javascript
setTimeout和setInterval的深入理解
2013/11/08 Javascript
基于iframe实现类似于ajax的页面无刷新
2014/05/31 Javascript
JS和JQ的event对象区别分析
2014/11/24 Javascript
JavaScript function函数种类详解
2016/02/22 Javascript
走进AngularJs之过滤器(filter)详解
2017/02/17 Javascript
javascript中的面向对象
2017/03/30 Javascript
nodejs实现大文件(在线视频)的读取
2020/10/16 NodeJs
Vue组件库发布到npm详解
2018/02/17 Javascript
使用Vue如何写一个双向数据绑定(面试常见)
2018/04/20 Javascript
通过webpack引入第三方库的方法
2018/07/20 Javascript
小程序hover-class点击态效果实现
2019/02/26 Javascript
使用Vue实现简单计算器
2020/02/25 Javascript
vue.js中使用微信扫一扫解决invalid signature问题(完美解决)
2020/04/11 Javascript
Vue使用自定义指令实现拖拽行为实例分析
2020/06/06 Javascript
微信小程序实现单个或多个倒计时功能
2020/11/01 Javascript
Python实现银行账户资金交易管理系统
2020/01/03 Python
python GUI库图形界面开发之PyQt5计数器控件QSpinBox详细使用方法与实例
2020/02/28 Python
pycharm的python_stubs问题
2020/04/08 Python
浅谈pycharm导入pandas包遇到的问题及解决
2020/06/01 Python
Django如何使用asyncio协程和ThreadPoolExecutor多线程
2020/10/12 Python
HTML5新增元素如何兼容旧浏览器有哪些方法
2014/05/09 HTML / CSS
车间机修工岗位职责
2014/02/28 职场文书
生产助理岗位职责
2014/06/18 职场文书
社团活动总结书
2014/06/27 职场文书
node.js如何自定义实现一个EventEmitter
2021/07/16 Javascript
Java中的继承、多态以及封装
2022/04/11 Java/Android
React自定义hook的方法
2022/06/25 Javascript
Win11 Beta 22621.601 和 22622.601今日发布 KB5017384修复内容汇总
2022/09/23 数码科技