尝试访问表数据时函数返回null

时间:2019-06-19 21:14:12

标签: python web-scraping scrapy

我正在尝试使用Scrapy抓取网站以获取一些数据。我发现使用css的表,但它仅返回线程数据。

也尝试使用xpath,但这也无济于事。实际上,该代码没有tbody标记,因为该函数返回null。

我正在尝试废弃此website

def parse(self, response):
        table = response.css('div.iw_component div.mobile-collapse div.fund-component div#exposureTabs div.component-tabs-panel div.table-chart-container div.fund-component table#tabsSectorDataTable')
        print(table.extract())

我要访问tbody标签中存在的所选表中的数据。

1 个答案:

答案 0 :(得分:0)

您要查找的数据使用Javascript动态地加载,这就是Scrapy找不到它的原因。您可以尝试使用Scrapy-Splash或自己解析:

import json

def parse(self, response):
    table_json = response.xpath('//script[contains(.,  "var tabsSectorDataTable =")]/text()').re_first(r'var tabsSectorDataTable =(.+?\]);')
    table = json.loads(table_json)