Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/react-native/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Web scraping 从雅虎财务报表中提取数字,愿意通过PayPal支付一些钱_Web Scraping_Beautifulsoup_Yahoo Finance - Fatal编程技术网

Web scraping 从雅虎财务报表中提取数字,愿意通过PayPal支付一些钱

Web scraping 从雅虎财务报表中提取数字,愿意通过PayPal支付一些钱,web-scraping,beautifulsoup,yahoo-finance,Web Scraping,Beautifulsoup,Yahoo Finance,我正在尝试使用python从yahoo finance中提取财务数据。 下面有一个链接,指向一个圆圈中显示我试图检索的数据的图像。它具有数据表的组织结构,但是我不知道从图中所示的givens开始 这是我试图从yahoo finance中提取的数字的代码位置的图像,带有表名和td tickers 我意识到我必须以某种方式使用td代码来查找提取所需的数字,但是我不确定我需要实现的基本命令是什么 这是一个示例,我正在尝试刮取数据表。刮取的页面是由JavaScript呈现的,请求和urllib无法处理

我正在尝试使用python从yahoo finance中提取财务数据。 下面有一个链接,指向一个圆圈中显示我试图检索的数据的图像。它具有数据表的组织结构,但是我不知道从图中所示的givens开始

这是我试图从yahoo finance中提取的数字的代码位置的图像,带有表名和td tickers

我意识到我必须以某种方式使用td代码来查找提取所需的数字,但是我不确定我需要实现的基本命令是什么


这是一个示例,我正在尝试刮取数据表。刮取的页面是由JavaScript呈现的,请求和urllib无法处理JavaScript。我建议您使用selenium和BeautifulSoup来提取数据。 这是禁用JavaScript时的情况:

您需要的数据在此url中:

http://financials.morningstar.com/ajax/ReportProcess4HtmlAjax.html?&t=XNAS:AAPL&region=usa&culture=en-US&ops=clear&cur=&reportType=is&period=12&dataType=A&order=asc&columnYear=5&curYearPart=1st5year&rounding=3&view=raw&r=378724&callback=jsonp1482077238548&_=1482077239651
我把它放在bs4中,你可以自己获取数据:

import requests, bs4, json

r = requests.get('http://financials.morningstar.com/ajax/ReportProcess4HtmlAjax.html?&t=XNAS:AAPL&region=usa&culture=en-US&ops=clear&cur=&reportType=is&period=12&dataType=A&order=asc&columnYear=5&curYearPart=1st5year&rounding=3&view=raw&r=378724&callback=jsonp1482077238548&_=1482077239651')

js = r.text.strip('jsonp1482077238548()')
html_str = json.loads(js)['result']
soup = bs4.BeautifulSoup(html_str, 'lxml')
输出:


156508000000
170910000000
182795000000
233715000000
215639000000
215639000000
收入

我希望在发布类似[x]这样的问题时,可以选中一些复选框。我知道不能使用requests+bs来刮取动态加载javascript的元素,我已经确定情况并非如此。如果是这样的话,我会先使用selenium。发布html代码和您想要的数据表单,这样我就可以为您编写代码。页面上的“检查页面”选项中不是有html代码吗?如果你能帮我刮取我需要的数字,我愿意通过pay palyes付给你一些钱,我看到了评论,我忽略了它,原因是堆栈溢出,我唯一关心的是:如何解决问题,以及我的声誉。如果你更新问题,是的,我会帮助你。我尝试访问网络,但失败了,我认为我的网络不稳定。所以,我在这里帮不了你。如果你想得到帮助,只需发布一个问题,而不是发布paypal。哦,好的,很抱歉。这个网页与你的网络配合使用吗?
<html>
 <body>
  <div id="baseline" style="display:none">
   <div>
    156508000000
   </div>
   <div>
    170910000000
   </div>
   <div>
    182795000000
   </div>
   <div>
    233715000000
   </div>
   <div>
    215639000000
   </div>
   <div>
    215639000000
   </div>
  </div>
  <div class="left ">
   <div class="r_xcmenu rf_table_left">
    <div class="rf_header ">
     <div class="lbl " currency="USD" fiscalyearend="September" fyenumber="9" id="unitsAndFiscalYear">
     </div>
    </div>
    <div class="rf_crow1" id="label_i1" style="_height:16px; _float:none;">
     <div class="lbl">
      Revenue
     </div>
     <div class="chart_contain_free" id="chart_i1">
      <div class="chart_icon">
      </div>
     </div>
    </div>