爬虫代理的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实现根据图标提取分类应用程序实例
Sep 28 Python
python验证码识别的示例代码
Sep 21 Python
python机器学习理论与实战(六)支持向量机
Jan 19 Python
Python使用Selenium模块模拟浏览器抓取斗鱼直播间信息示例
Jul 18 Python
matplotlib实现区域颜色填充
Mar 18 Python
Python Pandas 获取列匹配特定值的行的索引问题
Jul 01 Python
画pytorch模型图,以及参数计算的方法
Aug 17 Python
python实现监控阿里云账户余额功能
Dec 16 Python
Python解析多帧dicom数据详解
Jan 13 Python
Python脚本实现Zabbix多行日志监控过程解析
Aug 26 Python
Selenium 配置启动项参数的方法
Dec 04 Python
Tensorflow与RNN、双向LSTM等的踩坑记录及解决
May 31 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
中国广播史趣谈 — 几个历史第一次
2021/03/01 无线电
PHP查询网站的PR值
2013/10/30 PHP
thinkPHP实现的省市区三级联动功能示例
2017/05/05 PHP
基于jquery的二级联动菜单实现代码
2011/04/25 Javascript
两种方法实现文本框输入内容提示消失
2013/03/17 Javascript
浅谈JavaScript function函数种类
2014/12/29 Javascript
Windows系统下使用Sublime搭建nodejs环境
2015/04/13 NodeJs
深入学习JavaScript中的Rest参数和参数默认值
2015/07/28 Javascript
jquery实现漂亮的二级下拉菜单代码
2015/08/26 Javascript
基于JavaScript实现购物网站商品放大镜效果
2016/09/06 Javascript
JavaScript中在光标处插入添加文本标签节点的详细方法
2017/03/22 Javascript
详解Nodejs内存治理
2018/05/13 NodeJs
webpack4 从零学习常用配置(小结)
2019/05/28 Javascript
如何使用proxy实现一个简单完整的MVVM库的示例代码
2019/09/17 Javascript
layui的布局和表格的渲染以及动态生成表格的方法
2019/09/18 Javascript
p5.js临摹旋转爱心
2019/10/23 Javascript
微信小程序利用云函数获取手机号码
2019/12/17 Javascript
Vuex中的Mutations的具体使用方法
2020/06/01 Javascript
Element PageHeader页头的使用方法
2020/07/26 Javascript
使用Typescript开发微信小程序的步骤详解
2021/01/12 Javascript
从零学python系列之从文件读取和保存数据
2014/05/23 Python
基于Python实现的扫雷游戏实例代码
2014/08/01 Python
Python用GET方法上传文件
2015/03/10 Python
python实现识别相似图片小结
2016/02/22 Python
Python使用requests提交HTTP表单的方法
2018/12/26 Python
pandas的排序和排名的具体使用
2019/07/31 Python
Python Django 添加首页尾页上一页下一页代码实例
2019/08/21 Python
Python常用base64 md5 aes des crc32加密解密方法汇总
2020/11/06 Python
使用django自带的user做外键的方法
2020/11/30 Python
路德维希•贝克(LUDWIG BECK)中文官网:德国大型美妆百货
2020/09/19 全球购物
求高于平均分的学生学号及成绩
2016/09/01 面试题
2014年学生工作总结
2014/11/20 职场文书
2014年人民调解工作总结
2014/12/08 职场文书
学生个人总结范文
2015/02/15 职场文书
Java集成swagger文档组件
2021/06/28 Java/Android
Nginx下SSL证书安装部署步骤介绍
2021/12/06 Servers