Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.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 2.7 使用Python登录到web门户_Python 2.7 - Fatal编程技术网

Python 2.7 使用Python登录到web门户

Python 2.7 使用Python登录到web门户,python-2.7,Python 2.7,因此,关于如何使用urllib2使用python登录门户以及如何使用“BeautifulSoup”解析门户,我遵循了许多指南 我正在尝试登录到它的登录表单嵌套方式 我查看了源代码中的from标记,发现了这个 <form id="signinForm" action="/accounts/signin.ac" name="signinform" method="post" novalidate="true" autocomplete="off"> 正如在评论中所说,您需要理解GET和

因此,关于如何使用urllib2使用python登录门户以及如何使用“BeautifulSoup”解析门户,我遵循了许多指南

我正在尝试登录到它的登录表单嵌套方式

我查看了源代码中的from标记,发现了这个

<form id="signinForm" action="/accounts/signin.ac" name="signinform" method="post" novalidate="true" autocomplete="off">

正如在评论中所说,您需要理解
GET
POST
请求之间的区别

Get是一个基本http请求,其中参数由url传递。它的大小和安全性都非常有限。当参数在请求主体中时,Post是一个

在您的情况下,您需要一个POST请求,因此需要使用
requests.POST(“academy.srmuniv.ac.In/accounts/signin.ac”;,params=payload)

此外,您还需要使用会话,以便登录持续

下面是一个小代码:

s = requests.Session()
r = s.post('your address', payload)
最后,关于参数,您需要传递一封电子邮件和一个密码(查看输入标签中的id),地址与ifram相对应,但我不确定要给出的正确地址是什么

所以它应该给你:

import requests
from bs4 import BeautifulSoup

s = requests.Session()
payload = {'Email' : youremail, 'Password' : yourpwd}
r = s.post('https://academia.srmuniv.ac.in/accounts/signin.ac', payload)
data = r.text()
soup = BeautifulSoup(data)
print soup.pretify()
现在,要访问网站中的任何页面,您只需使用会话并获取或发布:

r2 = s.get('some other page behind the login page')
r3 = s.post('some other page with a post method', payload)

正如在评论中所说,您需要理解
GET
POST
请求之间的区别

Get是一个基本http请求,其中参数由url传递。它的大小和安全性都非常有限。当参数在请求主体中时,Post是一个

在您的情况下,您需要一个POST请求,因此需要使用
requests.POST(“academy.srmuniv.ac.In/accounts/signin.ac”;,params=payload)

此外,您还需要使用会话,以便登录持续

下面是一个小代码:

s = requests.Session()
r = s.post('your address', payload)
最后,关于参数,您需要传递一封电子邮件和一个密码(查看输入标签中的id),地址与ifram相对应,但我不确定要给出的正确地址是什么

所以它应该给你:

import requests
from bs4 import BeautifulSoup

s = requests.Session()
payload = {'Email' : youremail, 'Password' : yourpwd}
r = s.post('https://academia.srmuniv.ac.in/accounts/signin.ac', payload)
data = r.text()
soup = BeautifulSoup(data)
print soup.pretify()
现在,要访问网站中的任何页面,您只需使用会话并获取或发布:

r2 = s.get('some other page behind the login page')
r3 = s.post('some other page with a post method', payload)

因为您需要通过post方法访问此链接,所以您不能像那样直接访问此链接。您到底想做什么?您可能需要做这个函数所做的:
submitsignform()
并发布数据(可能使用
httplib
)。几乎只需通读它就会返回无效页面,即使我在@Whitefret发出post请求,我想在登录到portalyeah后刮取数据,因为大多数时候,你需要传递的不仅仅是日志/密码,比如tokken或其他隐藏字段。你能发布你的代码吗(减去密码)所以我们可以给你一些后见之明?因为你需要通过post方法访问此链接,所以你不能像那样直接访问此链接。您到底想做什么?您可能需要做这个函数所做的:
submitsignform()
并发布数据(可能使用
httplib
)。几乎只需通读它就会返回无效页面,即使我在@Whitefret发出post请求,我想在登录到portalyeah后刮取数据,因为大多数时候,你需要传递的不仅仅是日志/密码,比如tokken或其他隐藏字段。你能发布你的代码吗(减去密码)所以我们可以给你一些后见之明?它不起作用,它没有从bs4 import BeautifulSoup s=requests返回任何导入请求。会话()负载={'email':'something','password':'something'}r=s.post('',负载)data=s.get(')soup=BeautifulSoup(data.text)print soup.prettify()@RohanLokeshSharma你能试着打印r.text吗?它什么也不打印(空白)@RohanLokeshSharma当你
打印r.status\u代码时你会得到什么?很抱歉问了一个有意义的问题,但我需要确保它没有工作,它没有从bs4 import BeautifulSoup s=requests.Session()负载={'email':'something','password':'something'}r=s.post('',payload)data=s.get(')soup=BeautifulSoup(data.text)print soup.prettify()@RohanLokeshSharma你能试着打印r.text吗?它什么也不打印(空白)@RohanLokeshSharma当你
打印r.status\u代码时你会得到什么?很抱歉问了一个有意义的问题,但我需要确定