【问题标题】:Scraping Javascript based websites with Python使用 Python 抓取基于 Javascript 的网站
【发布时间】:2015-02-28 23:33:56
【问题描述】:

我正在尝试从这里删除数据(使用 python 2.7):

http://financials.morningstar.com/valuation/earnings-estimates.html?t=AMD

当我在 Chrome 浏览器中右键单击并选择“查看页面源”时,我要查找的内容不存在。例如,我正在寻找“平均评级”。

我搜索了 Stackoverflow 并看到了这个问题和答案: Python 3, Web-scraping, and Javascript [Oh My] 但是当我尝试主要答案时,我找不到任何XMLHttpRequest 函数。

感谢您对此提供的任何帮助。

【问题讨论】:

  • 在 Firefox 网络检查器中,我看到 3 个 AJAX 请求(单击底部的“XHR”)。
  • 感谢 Carpetsmoker。当然,我使用的是 Firefox,现在我看到了一些“获取”和“发布”。我现在如何使用这些信息?
  • 与 Chrome 中的网络检查器类似。单击网络,单击 XHR 过滤器,打开 M* 页面,您将看到 3 个 XHR 项目,单击左侧列中的一个(名称),然后您将看到一个 URL - 复制它并转到浏览器中的页面l
  • 感谢 foosion。奇怪的是我在 Chrome 中看不到这个!

标签: python python-2.7 web-scraping


【解决方案1】:

看起来你想要的数据是从中提取出来的

http://financials.morningstar.com/valuation/annual-estimate-list.action?&t=XNAS:AMD&region=usa&culture=en-US&cur=&r=1425167484279.9668&_=1425167484280
http://financials.morningstar.com/valuation/analyst-opinion-list.action?&t=XNAS:AMD&region=usa&culture=en-US&cur=&r=1425167484282.3906&_=1425167484282
http://financials.morningstar.com/valuation/forward-comparisons-list.action?&t=XNAS:AMD&region=usa&culture=en-US&cur=&r=1425167484284.5396&_=1425167484284

你应该可以直接抓取这些网址。

【讨论】:

  • 谢谢,没错。您是否使用 Chrome 找到了这些?
  • 不,我使用 Firefox 和 HttpFox 工具栏(来自addons.mozilla.org/en-us/firefox/addon/httpfox
  • 再次感谢。我安装了httpfox,运行的时候看到很多网址,你怎么知道选哪个?
  • 在 HttpFox 中,查看类型列。您可以忽略text/css(格式)、text/javascript(javascript - 可以包含动态数据但通常不包含)和image/gif(图片)。这会留下主页(我们已经确定它不包含您想要的数据)、一个数据类型错误的 favicon 文件(应该是 image/x-icon)、上面列出的三个文件和一个 application/json 文件(数据用于页面顶部的商品报价代码)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-04-23
  • 2020-10-02
  • 2015-05-20
  • 1970-01-01
  • 1970-01-01
  • 2012-01-01
相关资源
最近更新 更多