Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/285.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 couln';无法在请求中获取网页的响应_Python_Web Scraping_Request_Lxml - Fatal编程技术网

Python couln';无法在请求中获取网页的响应

Python couln';无法在请求中获取网页的响应,python,web-scraping,request,lxml,Python,Web Scraping,Request,Lxml,我正在尝试为我的大学网站制作一个机器人。在这种情况下,网站验证分两个阶段进行,第一阶段只需要用户名,第二阶段只需要密码。但出于这个目的,我们可以直接进入密码页面,因为用户名被嵌入到url中。这是链接 下面是我的代码 import requests from lxml import html session_requests = requests.session() login_url = "http://mydy.dypatil.edu/rait/login/index.php?uname=

我正在尝试为我的大学网站制作一个机器人。在这种情况下,网站验证分两个阶段进行,第一阶段只需要用户名,第二阶段只需要密码。但出于这个目的,我们可以直接进入密码页面,因为用户名被嵌入到url中。这是链接

下面是我的代码

import requests
from lxml import html

session_requests = requests.session()

login_url = "http://mydy.dypatil.edu/rait/login/index.php?uname=san.yad.rt15@rait.ac.in&wantsurl="
result = session_requests.get(login_url)
form_data = {
    "uname_static": "san.yad.rt15@rait.ac.in",
    "username": "san.yad.rt15@rait.ac.in",
    "uname": "san.yad.rt15@rait.ac.in",
    "password": "dypatil@123"
}

result = session_requests.post(
    login_url,
    data=form_data,
    headers=dict(referer=login_url)
)
url = "http://mydy.dypatil.edu/rait/my/"
result = session_requests.get(
    url,
    headers = {"Cache-Control": "no-store, no-cache, must-revalidate, post-check=0, pre-check=0",
    "Connection": "Keep-Alive",
    "Content-Language": "en",
    "Content-Length": "427",
    "Content-Type": "text/html; charset=utf-8",
    "Keep-Alive": "timeout=5, max=98",
    "Location": "http://mydy.dypatil.edu/rait/",
    "Pragma": "no-cache",
    "Server": "Apache/2.4.6 (CentOS) PHP/5.4.16",
    "X-Powered-By": "PHP/5.4.16"}
)
tree = html.fromstring(result.content)
print(tree.text)
# subjects = tree.xpath('//*[@class="launchbutton"/@href]')
#
# for subject in subjects:
#     print(subject)
这没有显示任何错误。另外,当我检查状态代码时,它显示200 Ok。但是在response
print(tree.text)
中,它显示了几行银行代码。你能在任何地方纠正我吗改变这个

print(tree.text)
对此

print(html.tostring(tree))

要获取一些数据,请执行以下操作:

from lxml import etree

for elem in tree.xpath("//div[@class='name']"):
     print etree.tostring(elem, pretty_print=True)
返回

b'<div class="name">sharad Jadhav</div>\n'
b'<div class="name">Admin User</div>\n'
b'<div class="name">sharad Jadhav</div>\n'
b'sharad Jadhav\n'
“管理员用户\n”
b'sharad Jadhav\n'

从html.tostring()现在我可以看到响应网页。但包含按钮的表格不可见,即响应不包含完整的网页。这是一个不同的问题,您在该评论中包含的内容与尝试回答所需的信息量相差甚远。