首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用MechanicalSoup登录雅虎财经

使用MechanicalSoup登录雅虎财经
EN

Stack Overflow用户
提问于 2019-01-29 06:06:02
回答 1查看 154关注 0票数 0

现在,我一直试图用python访问雅虎,我不确定为什么我似乎无法登录。

我的目标流程是

转到雅虎->,转到登录->,输入用户名->,按提交按钮->,输入密码->,按提交按钮。

请让我知道我在哪里犯了错,为什么代码看起来不起作用。任何登录到yahoo的替代方案,如果不是基于selenium的,都将不胜感激,并且仍然使用python。

代码语言:javascript
复制
"""Example app to login to Yahoo using the StatefulBrowser class."""

from __future__ import print_function
import argparse
import mechanicalsoup

browser = mechanicalsoup.StatefulBrowser(
    soup_config={'features': 'lxml'},
    raise_on_404=True,
    user_agent='MyBot/0.1: mysite.example.com/bot_info',
)
# Uncomment for a more verbose output:
browser.set_verbose(2)
browser.session.cookies.keys()
browser.open("https://login.yahoo.com/config/login?.src=fpctx&.intl=ca&.lang=en-CA&.done=https%3A%2F%2Fca.yahoo.com")

form1 = browser.select_form(nr=0)
browser['username'] = 'beta@gmail.com'
response = browser.submit_selected()
print(response.content)
browser.select_form(nr=0)
browser['passwd'] = 'badPass'
response = browser.submit_selected()
print(response)
page = browser.get_current_page()
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-01-29 07:27:55

快速浏览一下登录页面源代码就会发现它非常广泛地使用了JavaScript。表单提交似乎很可能是由JavaScript处理的,尽管我无法指出确切的代码行来证明这一点。

因为MechanicalSoup不支持JavaScript,所以您可能需要找到一个支持它的替代工具,比如Selenium。有关详细信息,请参阅this FAQ

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54410983

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档