抓取网站时数据丢失

时间:2018-07-21 20:52:38

标签: web-scraping scrapy scrapy-shell

我正在尝试删除网站(请参阅代码中的网址)。 我正试图从网站上抓取所有信息并将数据传输到json文件中。

scrapy shell http://www.narakkalkuries.com/intimation.html

要从网站提取信息

response.xpath('//table[@class="MsoTableGrid"]/tr/td[1]//text()').re(r'[0-9,-/]+|[0-9]+')

我能够从网站上检索大多数信息。

关注点: 能够在“提示”下剪贴数据,预计“ 2017年9月的提示”无法在此标签下剪贴信息。

发现:

对于“ 2017年9月的促销”,该值存储在span标签中

/html/body/div[4]/div[2]/div/table/tbody/tr[32]/td[1]/table/tbody/tr[1]/td[1]/p/b/span

在剩余的月份中,值存储在字体标签中

/html/body/div[4]/div[2]/div/table/tbody/tr[35]/td[1]/table/tbody/tr[2]/td[1]/p/b/span/font

如何为“ 2017年9月的宣传活动”提取信息?

1 个答案:

答案 0 :(得分:1)

您的表使用不同的@classMsoTableGridMsoNormalTable),因此您需要某种方式来处理所有表:

for table in response.xpath('//table[@width="519"]'):
    for row in table.xpath('./tr[position() > 1]'):
        for cell in row.xpath('./td'):
            #you can stringify value
            cell_value = cell.xpath('string(.)').extract_first()