weixin_44385960
木三136
采纳率52.9%
2021-03-28 21:42

python 使用代理访问某宝时 cookies 无效了

已采纳

代码如下

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


def browser_initial():
    """"
    进行浏览器初始化
    """
    browser = webdriver.Chrome(executable_path='../chromedriver.exe')
    goal_url = 'https://www.taobao.com/?spm=a230r.1.1581860521.1.30316359HLdX8n'
    # 未携带cookies打开网页
    browser.get('https://www.taobao.com/')
    return goal_url, 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()
    return browser

if __name__ == '__main__':
    tur = browser_initial()
    browser=log_taobao(tur[1])

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

    PROXY = "122.143.83.9:4278"
    chrome_opt = webdriver.ChromeOptions()
    chrome_opt.add_argument('--proxy-server=%s' % PROXY)
    browser = webdriver.Chrome(executable_path='D:\Learn\PyCharm\项目制作_1\chromedriver.exe', chrome_options=chrome_opt)
    browser.get(tur[0])
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

2条回答

  • technologist_09 CSDN技术专家团-009 2月前

    代码中主要问题,第二个browser虽然设置了代理,但是没有传入cookie。可将选项放在浏览器初始化中设置。

     

    点赞 1 评论 复制链接分享
  • weixin_44385960 木三136 2月前

    当我不使用代理时 也就是 54-57行代码,可以实现访问某宝并且自动登录,但是用上代理就不行了,求解,谢谢大佬了

    点赞 评论 复制链接分享

相关推荐