Функция, возвращающая ноль при попытке доступа к данным таблицы - PullRequest
0 голосов
/ 20 июня 2019

Я пытаюсь очистить веб-сайт от некоторых данных с помощью Scrapy. Я нашел таблицу, используя css, но она возвращает только данные потоков.

Пробовал тоже использовать xpath, но это тоже не помогло. На самом деле в коде нет тега tbody, поэтому функция возвращает ноль.

Я пытаюсь удалить этот сайт

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 голосов
/ 20 июня 2019

Данные, которые вы ищете, загружаются динамически с использованием 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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...