python - Python 登录机器人遇到问题

标签 python python-2.7 authentication bots mechanize

我目前正在尝试使用 mechanize 创建一个 python 机器人,该机器人会抓取我的帐户用于学校项目,但是我在登录此网站时遇到问题:https://marketwatch.com/login

import mechanize
loginurl = https://marketwatch.com/login
user = raw_input("enter user")
passcode = raw_input("enter passcode")
browser = mechanize.Browser()
browser.set_handle_robots(False)
browser.open(loginurl)
browser.select_form(nr=0)
browser.form["username"] = user
browser.form["password"] = passcode
browser.submit()
print(browser.title())

运行代码后,它不会登录,而是保留在登录页面上。有什么可能的解决方案吗?任何帮助将不胜感激!

最佳答案

正如 jm_____ 所说, Selenium 就是您正在寻找的东西。

可以找到 Selenium here

这是一个利用 selenium 的登录脚本。我将把登录后出现的页面的抓取留给您。

import selenium
from selenium import webdriver

browser = webdriver.Firefox()
browser.get('http://marketwatch.com/login')
username = browser.find_element_by_name("username")
password = browser.find_element_by_name("password")
submit = browser.find_element_by_id("submitButton")
username.send_keys("username")
password.send_keys("password")
submit.click()

关于python - Python 登录机器人遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30609595/

相关文章:

javascript - 通过 Python SPARQLWrapper 将数据插入到 Fuseki

python - 如何创建一个列表或一组 N 深对象中的每个排列

c# - HTTP 客户端未对代理服务器 C# 进行身份验证

mongodb - 创建单个root用户访问和管理MongoDB的所有数据库

python - 从谷歌搜索结果中抓取的旧新闻文章

python - 如何在特定环境下安装Python包?

python - python 2.7 的 unicode 文字需要什么编码?

node.js - 如何调试 Passport

python:权限被拒绝

python - 仅从文件中获取新行