如何解决无法获取页面python的html
所以过去 3 天我一直在尝试解决这个问题,但不知道为什么。 我正在尝试访问需要先登录的此站点的 html。
我尽我所能,但都以同样的问题返回。
这是我尝试过的:
response = requests.get('https://de-legalization.tlscontact.com/eg/CAI/myapp.PHP',headers=headers,params=params,cookies=cookies)
print(response.content)
payload = {
'_token': 'TOKEN HERE','email': 'EMAIL HERE','pwd': 'PASSWORDHERE','client_token': 'CLIENT_TOKEN HERE'
}
with requests.session() as s:
r = s.post(login_url,data=payload)
print(r.text)
我也尝试过使用 URLLIB,但它们都返回:
<script>window.location="https://de-legalization.tlscontact.com/eg/CAI/index.PHP";</script>
任何人都知道为什么会发生这种情况。 这里也是我想要的 html 页面的 url: https://de-legalization.tlscontact.com/eg/CAI/myapp.php
解决方法
您看到此特定输出是因为它实际上是您正在下载的页面的内容。
您可以通过打开以下网址在 chrome 中进行测试:
view-source:https://de-legalization.tlscontact.com/eg/CAI/myapp.php
这是在 Chrome 中的样子:
发生这种情况是因为您被页面上的 javascript 代码重定向。
由于您尝试访问的页面需要登录,因此您无法仅通过向内部页面发送http请求来访问它。
您要么需要提取所有 cookie 并将它们添加到 python 脚本中。 或者您需要使用像 Selenium 这样的工具,它允许您通过 Python 代码控制浏览器。
您可以在此处找到如何从浏览器会话中提取所有 cookie:
How to copy cookies in Google Chrome?
您可以在这里找到如何在 Python 中向 http 请求添加 cookie:
import requests
cookies = {'enwiki_session': '17ab96bd8ffbe8ca58a78657a918558'}
r = requests.post('http://wikipedia.org',cookies=cookies)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。