【发布时间】:2020-05-31 14:58:23
【问题描述】:
我尝试使用 python 从网站获取所有 cookie(包括由 javascript 设置的 cookie)。目前我尝试使用 requests 模块。
http cookie 不是问题。我可以抓住他们:
response = requests.get("http://example.com")
http_cookies = response.cookies
由 javascript 设置的 cookie 有点棘手。
我使用正则表达式搜索网站上所有<script ..>...</script> 标签和集成javascripts 源<script ... src="..."> 的内容。
现在我有一个包含页面上所有 javascript 的字符串的大列表。我相信所有由 javascript 设置的 cookie 都有document.cookie = "..."; 的形式。对吗?
我认为我可以使用 javascript 代码在我的列表中搜索子字符串,例如带有正则表达式的 document.cookie = "...";。
我是对的吗?我只对 cookie 名称感兴趣。例如,_ga 用于 Google Analytics。
感谢您的帮助!
【问题讨论】:
-
"我相信所有通过 javascript 设置的 cookie 的格式都是
document.cookie = "...";。是吗?"不必要。您将不得不真正执行 JavaScript 才能可靠地做到这一点,而requests不能做到这一点。 -
这能回答你的问题吗? Web-scraping JavaScript page with Python
-
并非如此。我过去曾尝试过使用 selenium,但使用 selenium 必须使用代理并使用此代理分析 http 标头以捕获所有 cookie。这是非常嵌套的,大型网站需要很多时间。并且很难用这种方法并行扫描网站。这就是为什么我正在寻找一种更简单的方法来做到这一点。如果我的想法行不通,有没有办法在我浏览整个网站并阅读 document.cookie 以使用 python 获取 cookie 名称后执行我保存的 javascript?
标签: javascript python cookies python-requests