【问题标题】:Python, Requests Session, HTML head not showingPython,请求会话,HTML 头未显示
【发布时间】:2016-11-29 19:12:10
【问题描述】:

我正在使用 python 中的请求模块,但遇到了一个问题。

我使用 Session 类请求登录网站 (http://coinplants.com)。登录后,我试图读取页面的 html,我意识到响应对象仅显示 html 正文及其内容,但不显示 html 头部。我想获得带有元标记的 html 头。知道我做错了什么吗?

s = requests.Session()
r = s.post('http://coinplants.com', data=postData)
print r.text

提前致谢:)

登录

为了废弃我使用 BeautifulSoup 的真实性令牌

soup = BeautifulSoup(r.text, 'lxml')
finding = soup.find('input', {'name' : 'authenticity_token'})
postData = {'utf8' : '%E2%9C%93', 'authenticity_token' : '',
        'account[email]' : self.username, 'account[password]' : self.password,
         'account[remember_me]' : '0', 'commit' : 'Log+in'}
postData['authenticity_token'] = finding['value']
r = s.post('http://coinplants.com/accounts/sign_in', data=postData)

解决方案

好的,我找到了解决问题的方法。我不知道为什么会话没有给我整个 html 内容。我从会话对象中取出 cookie 并将其添加到请求对象中:

cookies = {'_faucet:session' : s.cookies['_faucet_session']}
r = requests.get('http://coinplants.com', cookies=cookies)
print r.text

s 是会话对象。当我打印响应对象的文本时,它会显示整个 html 内容,包括 head 标签。如果有人知道为什么会话对象没有显示它,请告诉我:)

【问题讨论】:

  • 您确定登录成功了吗?
  • 是的,它是成功的。我登录后检查了html。
  • 您可以添加帖子数据,显然减去您的电子邮件/密码吗?我看到需要一个 csrf 令牌,所以除非你正在抓取,否则我看不到你的登录是如何成功的
  • 我在问题中添加了登录信息。
  • 看起来不错,你确定在浏览器中选择查看源时看到了head标签吗?

标签: python html python-requests


【解决方案1】:

当我理解你的正确时,你正在寻找页面的标题。

当你输入时

print r.headers

你应该得到页面的标题。

还是我理解错了你的问题?

此页面对于了解有关请求模块的更多信息非常有帮助。 http://docs.python-requests.org/en/master/

【讨论】:

  • r.headers 返回服务器发送给我的 HTTP 标头,而不是 HTML 标头标签。我猜你理解错了。但我会看看链接,希望能找到一些东西。
  • 哦,对不起。但我希望链接可以帮助你! :-)
  • link 看看这个问题。
  • 我刚刚看了看。我读了一些关于 HTTP 中 Range 标头的内容并尝试使用它,但不知何故我得到了整个 html 正文内容,即使我要求 100 个字节......
【解决方案2】:

打印出正在获取的 req.url,然后尝试使用 get 废弃该 url。

url = r.url
req = s.get(url)
print req.text

看看它是否解决了您的问题。如果没有,则转到浏览器中的 r.url 并使用您喜欢的任何浏览器检查元素,并查看是否显示了 head 标签。我希望它有所帮助。

【讨论】:

  • 这没有帮助。 url = r.url 返回coinplants.com 这是我发送 GET 请求的 url。使用 FF,我查看了 html,我看到了 html 头和 html 正文标记,并且都带有内容。一旦我使用请求,我就没有得到 html 头标签:(
猜你喜欢
  • 2020-12-31
  • 1970-01-01
  • 1970-01-01
  • 2019-11-15
  • 1970-01-01
  • 2013-04-23
  • 1970-01-01
  • 1970-01-01
  • 2023-03-11
相关资源
最近更新 更多