Scrapy If заявление не оценивается в течение цикла - PullRequest
0 голосов
/ 09 ноября 2018

Сначала я хочу упомянуть, что я видел другие вопросы о переполнении стека, подобные этому, и пытался рекомендовать разрешения, однако каждая итерация повторяет проблемное поведение.

Я пытаюсь извлечь данные с этого сайта https://www.marketwatch.com/investing/stock/aapl/financials, чтобы провести некоторый финансовый анализ, однако дамп в мой CSV-файл всегда пуст.

Я попытался определить проблему в оболочке scrapy, и похоже, что мое "in values" никогда не оценивается как true, но я не уверен, почему, потому что первоначальный response.xpath действительно печатает значения таблицы.

Код ниже. Я ценю любую помощь, спасибо всем!

values = ["Sales/Revenue", "Cost of Goods Sold (COGS) incl. D&A", "Depreciation & Amortization Expense", "Gross Income", "SG&A Expense", "Research & Development", "EBIT after Unusual Expense", "Pretax Income", "Income Tax", "Net Income", "EBITDA"]

for row in response.xpath('//table[@class="crDataTable"]/tbody/tr[not(contains(@class,"thead"))]'):
        test = row.xpath('/td[1]//text()').extract()
        for i in values:
            if i in test:
                item['rowTitle'] = row.xpath('/td[1]//text()').extract()
                item['year1'] = row.xpath('/td[2]//text()').extract()
                item['year2'] = row.xpath('/td[3]//text()').extract()
                item['year3'] = row.xpath('/td[4]//text()').extract()
                item['year4'] = row.xpath('/td[5]//text()').extract()
                item['present'] = row.xpath('/td[6]//text()').extract()
                yield item
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...