【发布时间】:2017-12-13 13:34:23
【问题描述】:
我目前正在尝试从 GET 请求访问 url 的响应标头中的位置字段:https://dbr.ee/aUJA/d?。目前,我已经能够通过这个 Python 代码查看位置字段:
import requests
r = requests.get('hhttps://dbr.ee/aUJA/d?', allow_redirects=False, headers={'User-Agent': 'Mozilla/5.0'})
print r.headers
但输出的是错误的位置字段
{'状态':'302 Found','X-Request-Id': '9e968067-1bee-4cc9-9305-19d45d5cb6ea','X-XSS-保护':'1; mode=block', 'X-Content-Type-Options': 'nosniff', 'Transfer-Encoding': “分块”、“设置 Cookie”: '__cfduid=d21c538fd46c153a046bf461ca281978d1499637583;过期=星期一, 格林威治标准时间 09-7-18 21:59:43;路径=/;域=.dbr.ee; HttpOnly, ahoy_visitor=f4f1c08c-add3-45c0-8325-675b1caf3048;路径=/; 到期=2019 年 7 月 9 日星期二 21:59:44 -0000, ahoy_visit=cdbb4ca8-3272-473c-8562-03596d88ec0f;路径=/;过期=星期一, 2017 年 7 月 10 日 01:59:44 -0000,ahoy_track=true;路径=/,服务器 ID=; 过期=周四,1970 年 1 月 1 日 00:00:01 GMT;路径=/','X-运行时': '0.006820','服务器':'cloudflare-nginx','连接':'keep-alive', “位置”:“hhttps://dbr.ee/aUJA”,“缓存控制”:“无缓存”, “日期”:“2017 年 7 月 9 日星期日 21:59:44 GMT”,“X-Frame-Options”: 'SAMEORIGIN', '内容类型': 'text/html;字符集=utf-8','CF-RAY': '37be8d52fdc83822-ATL'}
即:
'位置':'hhttps://dbr.ee/aUJA'
在网站上,实际的响应头是这样的(通过 Chrome 开发者工具查看)
缓存控制:无缓存 cf-ray:37be8bacacb437d4-ATL 内容类型:文本/html; charset=utf-8 日期:2017 年 7 月 9 日星期日 21:58:36 格林威治标准时间 位置:hhttps://s.dbr.ee/sffc/python%2Dlogo%2Dmaster%2Dv3%2DTM.png.zip?temp_url_sig=41ebabb749293a6fe3f3ec82c5ab8ec01b0ed053&temp_url_expires=1499637816&filename=python-logo-master-v3-TM.png.zip;&附件 服务器:cloudflare-nginx 设置cookie:ahoy_visit=f7d15e42-155c-443f-a637-22c3681863a5;路径=/; 过期=2017 年 7 月 10 日星期一 01:58:36 -0000 的Set-Cookie:_dbree_session = U2x6akdCbUJ4c28wdW9MeUFYOXo1QUVxLzV3ZVNxcGtTWW1jbVdkWEdPOWZPMWFiOEl4M0VWY1dOWGNYTjNubEJoVWJHejRCTlQwQlkwL0UrM09QallTMzhFZlU3RFBBTDZxaW9xcGRMeXNlQS9mZFByYTZQWTM0ZlBHMU50ekhhTkt1bjZENXJHRnc2a3dWeGY2d3BBPT0tLVNKOTJnL0Q3SjloWEc0MTZqTnRPNFE9PQ%3D%3D - 2dd8f3e77a673f385c9a231af426b55f1d1f71c0; 域=dbr.ee;路径=/; HttpOnly set-cookie:SERVERID=;过期=周四, 格林威治标准时间 1970 年 1 月 1 日 00:00:01;路径=/状态:302 状态:302 找到 x-content-type-options:nosniff x-frame-options:SAMEORIGIN x-request-id:f57f3ca7-c7aa-4449-a2d7-7b5014010d0f x-runtime:0.015892 x-xss-保护:1;模式=块
位置在哪里
位置:hhttps://s.dbr.ee/sffc/python%2Dlogo%2Dmaster%2Dv3%2DTM.png.zip?temp_url_sig=41ebabb749293a6fe3f3ec82c5ab8ec01b0ed053&temp_url_expires=1499637816&filename=python-logo-master-v3-TM.png.zip ;&附件
这是我试图用 Python 抓取的下载链接。单击“直接下载”按钮后,它会出现在开发者工具中。
如何让标题显示 Python 中的正确字段位置?
*links 已在 http 前用 h 进行了修改,因为不允许我发布超过 2 个链接,但对于问题的上下文是必要的
【问题讨论】:
-
requests是否运行 JavaScript? -
我认为 requests 不会。我知道 selenium 确实如此,我试图从页面中获取 javascript 并在 selenium 中运行它,但它不起作用,尽管我不确定要运行哪个 javascript 来模拟单击按钮。 @彼得伍德