Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Python通过Microsoft Live登录?_Python_Login_Python Requests - Fatal编程技术网

使用Python通过Microsoft Live登录?

使用Python通过Microsoft Live登录?,python,login,python-requests,Python,Login,Python Requests,我正在尝试制作一个程序,可以获取你在《战争装备4》游戏中的信息。 我知道如何解析网页等等,但我从来没有花时间通过python登录过网站 现在,这带来了一个问题,因为我需要登录到我的Microsoft Live个人资料以获取我的统计数据。我试过我认为有效的方法,但每次都走到了死胡同 这就是我目前所拥有的(有效的) sign_in是我需要登录的页面的URL 我只需要有人告诉我如何将用户名和密码传递到登录页面,然后加载它重定向到的页面。 每次尝试时,我都会收到html数据,表明Javascript未启

我正在尝试制作一个程序,可以获取你在《战争装备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