浏览器cookie,是保存我们的账号数据和访问几率。cookie对于爬虫来说有极大的好处,浏览器记住这些真实cookie,目标网站反爬就没有那么严格。
例如:访问电商网站,需要登录访问,如果浏览器保存了cookie,再次访问电商网站的话就不需要再次登录了。
selenium保存cookies:
cookies保存账号数据信息,免登陆访问网站,还有一种情况有些网站对单个账号有访问频率限制,所以你准备了多个账号,想要每隔一段时间换一个账号来访问网站,这样如果让浏览器自己来保存Cookies的话,会把你之前的账户Cookie覆盖一部分,会导致之前的账号访问网站时要求你输入账号密码登陆。
这种情况就要来管理Cookies,让每个账号都保存在不同文件里
Selenium使用cookies:
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()
# 16yun 代理配置
PROXY_HOST = 't.16yun.cn' # proxy or host
PROXY_PORT = 31111 # port
PROXY_USER = 'USERNAME' # username
PROXY_PASS = 'PASSWORD' # password
def get_cookies(self):
"""
获取Cookies
:return:
"""
return self.browser.get_cookies()
def main(self):
"""
入口
:return:
"""
self.open()
if self.password_error():
return {
'status': 2,
'content': '用户名或密码错误'
}
# 如果不需要验证码直接登录成功
cookies = self.get_cookies()
return {
'status': 1,
'content': cookies