Python 如何将selenium.webdriver.get_cookies()转换为cookie文本文件以与pycurl一起使用
selenium.webdriver.get_cookies()提供了两个值/对字典。我假设这些字典都是一块饼干。如何将这些cookie写入文本文件,该文本文件将使用以下代码将cookie从cookie.txt文件加载到curl会话Python 如何将selenium.webdriver.get_cookies()转换为cookie文本文件以与pycurl一起使用,python,selenium,curl,cookies,Python,Selenium,Curl,Cookies,selenium.webdriver.get_cookies()提供了两个值/对字典。我假设这些字典都是一块饼干。如何将这些cookie写入文本文件,该文本文件将使用以下代码将cookie从cookie.txt文件加载到curl会话 p = pycurl.Curl() cookiefile = open('cookie.txt', 'r') p.setopt(pycurl.URL, my_url) p.setopt(pycurl.COOKIEFILE, cookiefile) p.perform
p = pycurl.Curl()
cookiefile = open('cookie.txt', 'r')
p.setopt(pycurl.URL, my_url)
p.setopt(pycurl.COOKIEFILE, cookiefile)
p.perform()
有没有更好的方法将cookies从selenium会话传输到curl会话以进行文件下载?我看到了关于使用pickle的帖子,但是在上面的代码中将pickle.dump()生成的文件用作cookiefile会导致以下错误:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: invalid arguments to setopt
那么它会像这样开始吗
Set Cookie: ASP.NET_SessionId=4jqhjdiq9k12ry45ahqtux3e (path=/; secure=False; httpOnly=True; domain=www.domain.com)
然后另一行以Set Cookie:开头,第二本词典的名称和值后跟括号中的附加属性?我问这个问题后找到的所有东西都指向这个问题的答案:,也是我问题的答案(说curl使用netscape Cookie格式).使用此代码 我使用的是请求,不是pycurl,但我认为这会对您有所帮助
cookies_list = driver.get_cookies()
cookies_dict = []
for cookie in cookies_list:
cookies_dict.append([cookie['name'],cookie['value']])
cookies_dict = dict(cookies_dict)
及
这会奏效的
cookies_list = driver.get_cookies()
cookies_dict = []
for cookie in cookies_list:
cookies_dict.append([cookie['name'],cookie['value']])
cookies_dict = dict(cookies_dict)
requests.get(URL, cookies=cookies_dict)