使用Python通过Microsoft Live登录?

时间:2017-03-12 20:02:56

标签: python login python-requests

我试图制作一个可以获取游戏战争机器4的信息的程序。 我知道如何解析网页等,但我从来没有花时间通过python登录网站。

现在这会产生问题,因为我需要登录我的Microsoft Live个人资料才能获取我的统计数据。我已经尝试过我认为可行的方法,但每次都会遇到死胡同。

这是我到目前为止(有效)

import requests
import urllib2

username = 'USERNAME@hotmail.com'
password = 'PASSWORD'


payload = {'loginfmt': username,
           'passwd': password}

url = 'https://gearsofwar.com/en-us/cards'

initial_data = urllib2.urlopen(url).read()

sign_in = initial_data.find('signInUrl":"')

sign_in = initial_data[sign_in:].split('"')[2]

print sign_in

sign_in是我需要登录的网页的网址。

我需要的是有人向我展示如何将我的用户名和密码传递到登录页面,然后加载它重定向到的页面。 每次我尝试,我得到HTML数据说没有启用Javascript。

当然有一种简单的方法可以做到这一点,我忽略了吗?

1 个答案:

答案 0 :(得分:0)

因此,如果我理解正确,您想要抓取一个网站,让它以用户身份登录,然后以用户身份抓取它,我假设记录某些信息并为其做数据。

有几个python应用程序用于抓取,网站并通过脚本进一步进入它们,有些变得非常强大,可用于此类开发测试。

http://www.guru99.com/selenium-python.html

这是在Selenium中执行此操作的指南,但显示了Java和Python之间的区别。我推荐Selenium用于此类事情,如果您花一些时间,它应该很容易理解。将出现许多安全问题,并且可能使其变得不可能。但你可以尝试Selenium,是你的蟒蛇人。

这是一个有着相当不错的硒指导的景象,它会让你成为谷歌搜索的机器人:

http://www.marinamele.com/selenium-tutorial-web-scraping-with-selenium-and-python

这是一个关于如何处理身份验证的线程

How to handle authentication popup with Selenium WebDriver using Java

我知道这不是一个答案,但是如果你熟悉selenium或许多其他人,你可以通过编程方式完成很多工作,而不是试图通过发送手动数据包通过请求和处理身份验证来解决问题。