【发布时间】:2017-03-12 13:06:44
【问题描述】:
我需要从仅在您登录网站时出现的 HTML 标记中获取一些数据。我需要用 Python 或 Javascript 来做。 Javascript 有跨域浏览器策略(CORS)作为障碍。
我不能使用服务器端代码。 我不能使用 iframe。
如果您在 Chrome 或 FireFox 中打开页面 URL,则数据很容易获得,因为它可以让您保持登录状态,就像 Facebook 一样,因此我们将使用它作为示例。我们会说我想从我的 Facebook 新闻提要的第一个元素中获取数据。
我尝试过抓取网页并使用 Python 的 urllib 模块传入用户代理值。我尝试使用带有 Javascript 的 Yahoos YQL 工具。两者都返回了我想要的 HTML,但没有我需要的值。这是因为它没有使用我的浏览器来执行此操作,它存储了填充我需要的值所需的 cookie。
那么有没有办法抓取已经打开的网页?假设我打开了 Facebook,我运行了一些代码,从浏览器中获取了我的新闻提要数据。
还有其他我没有提到的方法来完成这个吗?
背景:我正在为一个论坛(在网站规则内)创建一个自动缓冲器,并且需要从网站 HTML 中生成一些值,但不会得到所有者的合作。
【问题讨论】:
-
服务器端代码完全有可能支持 cookie,从而支持包括登录流程的多页会话。
-
@ceejayoz 如果我绝对不能按照我描述的方式去做,我可能会诉诸类似的事情。那怎么办?
标签: javascript python jquery html