python - 使用 Python 登录网站

标签 python

我一直在尝试登录 http://www.qualtrics.com/login/然后保存一个 cookie 文件,但它不起作用。

opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookie_jar))
opener.addheaders =[('Referer', 'http://www.qualtrics.com'),
('User-Agent','Mozilla/5.0 (Windows NT 6.1; rv:26.0) Gecko/20100101 Firefox/26.0'),
                        ('Content-Type','application/x-www-form-urlencoded')]
url = 'http://www.qualtrics.com/login/'
data = {'method' : '1', 'login' : 'my-username', 'password' : 'my-password'}
req = urllib2.Request(url, urllib.urlencode(data))
res = opener.open(req)

但响应是没有帐户的人会看到的(它不起作用)。 有什么帮助吗?此外,cookie 文件应如下所示:

# Netscape HTTP Cookie File
# http://www.netscape.com/newsref/std/cookie_spec.html
# This is a generated file!  Do not edit.
value / value / value etc

最佳答案

虽然这看起来有点宽泛但不会selenium为您提供一个良好的起点。有很多很好的例子可以借鉴。从 this example 窃取

from selenium import webdriver
browser = webdriver.Firefox()
browser.get('http://www.example.com')
browser.find_element_by_name('username').send_keys('myusername')
browser.find_element_by_name('password').send_keys('mypassword')
browser.find_element_by_class_name('welcomeLoginButton').click()
cookies = browser.get_cookies()

您可能需要在其中放置一些等待语句,但 Stack Overflow 上有很多示例和大量信息 in the docs

编辑: 修复了文档链接。

  • find_element_by_name 可以找到here .
  • 可以找到有关 cookie 的更多信息 here .对于此示例,cookie 对象只是 { name:value }
  • 的字典

关于python - 使用 Python 登录网站,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24154471/

相关文章:

python - 如何为 Pandas 数据框中的不同组分配唯一 ID?

python - Pandas Dataframe 的 Csv 缺少列

python - 使用 Pandas 计算滚动窗口中的不同字符串

python - Pandas between_time 等效于 Dask DataFrame

编写许多 try/except 子句的 Pythonic 方式?

python - 使用 django 时消除 pylint 误报

python - 使用 Seaborn 绘制 CDF + 累积直方图

python - 牛顿的吸引力盆地

python - 字典的嵌套合并

python - django/python : Google doc viewer issue with . docx/.xlsx/.pptx