首页 新闻 会员 周边 捐助

python 爬虫 使用代理ip访问某宝时遇到的问题

0
[已解决问题] 解决于 2021-03-30 17:11

这是代码
import random

from selenium import webdriver
from selenium.webdriver import ChromeOptions
import json


def browser_initial():
    """"
    进行浏览器初始化
    """

    # 导入避免被发现是selenium的工具
    option = ChromeOptions()
    option.add_experimental_option('excludeSwitches', ['enable-automation'])

    PROXY = '"'+get_ip()+'"'
    chrome_opt = webdriver.ChromeOptions()
    chrome_opt.add_argument('--proxy-server=%s' % PROXY)
    browser = webdriver.Chrome(executable_path='../chromedriver.exe', chrome_options=chrome_opt,options=option)
    # 未携带cookies打开网页
    browser.get('https://www.taobao.com/')
    return  browser




def log_taobao(browser):
    """
    从本地读取cookies并登录目标网页
    """
    # 从本地读取cookies
    with open('taobao_cookies.txt', 'r', encoding='utf8') as f:
        listCookies = json.loads(f.read())

    for cookie in listCookies:
        cookie_dict = {
            'domain': '.taobao.com',
            'name': cookie.get('name'),
            'value': cookie.get('value'),
            'path': '/',
            "expires": '',
            'sameSite': 'None',
            'secure': cookie.get('secure')
        }
        browser.add_cookie(cookie_dict)

    # 更新cookies后进入目标网页
    # browser.get(goal_url)
    # time.sleep(50)
    # browser.close()
    browser.refresh() #刷新网页

def get_ip():
    with open('./ip.text', 'r', encoding='utf8') as f:
        ip_list = json.loads(f.read())

    num = random.randint(0, len(ip_list))
    str ="{0}:{1}".format(ip_list[num].get('ip'), ip_list[num].get('port'))
    return str

if __name__ == '__main__':
    tur = browser_initial()
    browser=log_taobao(tur)
    #browser.get(tur[0])

这是遇到的问题
selenium.common.exceptions.InvalidCookieDomainException: Message: invalid cookie domain
(Session info: chrome=89.0.4389.90)

可以确定的是 应该不是cookies多余的问题 原因是当我不使用get_ip这个函数获取ip时,程序可以正常运行,请大佬们看看是怎么个回事

木三136的主页 木三136 | 初学一级 | 园豆:159
提问于:2021-03-30 16:19
< >
分享
最佳答案
0

人傻了,将本来的str当成int了

木三136 | 初学一级 |园豆:159 | 2021-03-30 17:11
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册