Python,在收入报告中解析表时遇到的问题

Python,在收入报告中解析表时遇到的问题,python,python-2.7,scrapy,scrapy-spider,Python,Python 2.7,Scrapy,Scrapy Spider,我试图解析每个盈利报告下的表(资产负债表)中的一些数据。这里我以AMD为例,但不限于AMD 这是 我现在的问题是,我无法读取任何内容——我的爬行器总是返回空结果。我用了scrapy shell“http://example.com“来测试我的xpath,我直接从Google Chrome Inspector复制了它,但它仍然不起作用 这是我的xpath(提供了Chrome浏览器): 这是我的密码: import scrapy class ESItem(scrapy.Item): Rev

我试图解析每个盈利报告下的表(资产负债表)中的一些数据。这里我以AMD为例,但不限于AMD

这是

我现在的问题是,我无法读取任何内容——我的爬行器总是返回空结果。我用了
scrapy shell“http://example.com“
来测试我的xpath,我直接从Google Chrome Inspector复制了它,但它仍然不起作用

这是我的xpath(提供了Chrome浏览器):

这是我的密码:

import scrapy

class ESItem(scrapy.Item):
    Rev = scrapy.Field()

class ESSpider(scrapy.Spider):
    name = "es"
    start_urls = [
        'http://www.marketwired.com/press-release/amd-reports-2016-second-quarter-results-nasdaq-amd-2144535.htm',
    ]

    def parse(self, response):
        item = ESItem()
        for earning in response.xpath('//*[@id="newsroom-copy"]/div[2]/div[8]/table/tbody'):
            item['Rev'] = earning.xpath('tr[9]/td[4]/text()').extract_first()
            yield item
我想从报告底部的表格中检索“收入数字”

谢谢

我使用以下命令运行代码:

scrapy runspider ***.py -o ***.json
代码运行良好,没有错误,只是没有返回我真正想要的


更新:我有点想明白了。。。我必须从XPATH中删除“tbody”标记,我不明白。。。有人能解释一下吗?

chrome中的inspect工具提供的html是浏览器对服务器发送到浏览器的实际代码进行解释的结果

tbody
标记就是一个很好的例子。如果您查看网站的页面源,您将看到如下结构

<table>
    <tr>
        <td></td>
    </tr>
</table>
相当于

//table/tr[td/text()='Net revenue']/td[4]/text()

看看它看起来有多漂亮?

chrome中的inspect工具提供的html是浏览器对服务器发送到浏览器的实际代码进行解释的结果

tbody
标记就是一个很好的例子。如果您查看网站的页面源,您将看到如下结构

<table>
    <tr>
        <td></td>
    </tr>
</table>
相当于

//table/tr[td/text()='Net revenue']/td[4]/text()

看看它看起来有多漂亮?

你一定要从网上刮下来吗?已经有很多金融API可以获取这些信息。我的主要目标是学习Scrapy。。。所以,是的,我可以使用一些API,但我仍然想知道如何自己实现它。:)你一定要从网上搜刮吗?已经有很多金融API可以获取这些信息。我的主要目标是学习Scrapy。。。所以,是的,我可以使用一些API,但我仍然想知道如何自己实现它。:)伟大的现在我有了更好的理解。谢谢!伟大的现在我有了更好的理解。谢谢!
//table/tr[td/text()='Net revenue']/td[4]/text()