木三136 2021-03-28 21:42 采纳率: 78.9%
浏览 81
已采纳

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条回答 默认 最新

  • CSDN专家-HGJ 2021-03-28 22:44
    关注

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

     

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥20 机器学习能否像多层线性模型一样处理嵌套数据
  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效