使用Python通过Microsoft Live登录?
我正在尝试制作一个程序,可以获取你在《战争装备4》游戏中的信息。 我知道如何解析网页等等,但我从来没有花时间通过python登录过网站 现在,这带来了一个问题,因为我需要登录到我的Microsoft Live个人资料以获取我的统计数据。我试过我认为有效的方法,但每次都走到了死胡同 这就是我目前所拥有的(有效的) sign_in是我需要登录的页面的URL 我只需要有人告诉我如何将用户名和密码传递到登录页面,然后加载它重定向到的页面。 每次尝试时,我都会收到html数据,表明Javascript未启用使用Python通过Microsoft Live登录?,python,login,python-requests,Python,Login,Python Requests,我正在尝试制作一个程序,可以获取你在《战争装备4》游戏中的信息。 我知道如何解析网页等等,但我从来没有花时间通过python登录过网站 现在,这带来了一个问题,因为我需要登录到我的Microsoft Live个人资料以获取我的统计数据。我试过我认为有效的方法,但每次都走到了死胡同 这就是我目前所拥有的(有效的) sign_in是我需要登录的页面的URL 我只需要有人告诉我如何将用户名和密码传递到登录页面,然后加载它重定向到的页面。 每次尝试时,我都会收到html数据,表明Javascript未启
当然,有一种简单的方法可以做到这一点,我忽略了这一点?因此,如果我理解正确,你想爬网一个网站,让它以用户身份登录,然后以用户身份爬网,我假设要记录某些信息并对其进行数据处理 有两个python应用程序用于抓取网站,并通过脚本进一步深入其中,其中一些功能非常强大,可以用于开发测试 这是一个用Selenium实现的指南,但展示了Java和Python之间的区别。我推荐Selenium做这类事情,如果你花点时间的话,它应该很容易理解。许多安全问题将出现,并可能使其无法实现。但是你可以试试Selenium,它是一个python人 这里有一个关于selenium的相当不错的指南,可以让你成为一个进行谷歌搜索的机器人: 这里有一个关于如何处理身份验证的线程
我知道这不是一个答案,但如果您熟悉selenium或其他许多产品,您可以通过编程完成很多工作,而不是通过请求发送手动数据包和处理身份验证来尝试解决问题 因此,如果我理解正确,你想抓取一个网站,让它以用户身份登录,然后以用户身份抓取它,我假设要记录某些信息并对其进行数据处理 有两个python应用程序用于抓取网站,并通过脚本进一步深入其中,其中一些功能非常强大,可以用于开发测试 这是一个用Selenium实现的指南,但展示了Java和Python之间的区别。我推荐Selenium做这类事情,如果你花点时间的话,它应该很容易理解。许多安全问题将出现,并可能使其无法实现。但是你可以试试Selenium,它是一个python人 这里有一个关于selenium的相当不错的指南,可以让你成为一个进行谷歌搜索的机器人: 这里有一个关于如何处理身份验证的线程
我知道这不是一个答案,但如果您熟悉selenium或其他许多产品,您可以通过编程完成很多工作,而不是通过请求发送手动数据包和处理身份验证来尝试解决问题 没有简单的方法(想象一下简单的方法会产生安全问题),这是错误的方法。你甚至不应该有你用户的密码。阅读和类似的技术。它们提供了更好的解决方案。(你也不必尝试手动将数据注入网站;这会让你做噩梦。)不完全是一种“简单的方法”,而是一种容易理解的方法。不,这将获取我的信息,我没有其他人的登录信息。没有简单的方法(想象一下简单的方法会产生安全问题).这是错误的做法。你甚至不应该有你用户的密码。阅读和类似的技术。它们提供了更好的解决方案。(你也不必尝试手动将数据注入网站;这会让你做噩梦。)这不是一种“简单的方法”,而是一种易于理解的方法。不,这将获取我的信息,我没有其他人的登录信息。我感谢托马斯的回复,但在我看来,你实际上需要链接到浏览器的二进制文件,它实际上显示了浏览器?我更喜欢“幕后”做任何事情,如果你愿意的话,也可以手工做。如果不需要的话,我宁愿没有额外的东西弹出(比如浏览器)我很感激Thomas的回复,但在我看来,你实际上需要链接到浏览器的二进制文件,它实际上显示了浏览器?我更喜欢“幕后”做任何事情,如果你愿意的话,也可以手工做。如果不需要,我宁愿没有额外的东西弹出(比如浏览器)
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