【发布时间】:2012-03-15 19:48:46
【问题描述】:
我正在设计一个链接抓取程序,它可以抓取给定 URL 的基本链接预览字段,例如页面标题、描述和图像等。到目前为止,我已经有了一个使用 Python @ 的非常好的工作版本987654321@图书馆和Beautiful Soup。
大多数 URL 都能完美呈现,但是当我尝试 Facebook 应用程序的 url 时,我得到的 HTML 响应与我直接从浏览器访问它时不同。例如,如果我在浏览器和查看源中导航到应用程序,我将看到特定于该应用程序的标题字段。但是,Python 中的 HTML 响应会返回通用的 Facebook.com 标题字段。
我试图了解 Facebook 应用程序页面是如何向我的浏览器提供特定的 HTML 响应,以及向我的 Python 服务器提供另一个响应的。
Facebook 应用示例: http://www.facebook.com/cocacola/app_106795496113635
来自浏览器的响应:
<title>Coca-Cola</title>
来自 Python 的“请求”响应:
<title>Facebook</title>
Python 代码:
import requests
r = requests.get(url, allow_redirects=True)
html = r.text
print html
更新: 好的,所以刚刚意识到 Python 响应是针对 Facebook 登录页面的。这是一个公共应用程序,所以问题是它为什么需要从我的服务器登录。
【问题讨论】:
-
不,看起来它正试图让我的服务器登录 - 查看我的编辑