我正在尝试使用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标签中存在的所选表中的数据。
答案 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)