网络爬虫使用cookie

344 阅读1分钟

浏览器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