试着用Scrapy刮一张桌子

时间:2017-03-22 19:34:48

标签: python html css web-scraping scrapy

我试图在http://www.casemanagementguidebook.ie/Case-Management-Listings/Accommodation---Homelessness.aspx上搜索表格,以便我可以将所有值输入MySQL数据库。当我尝试在shell中执行它时,我尝试了命令

table = response.css('table.listing-table')[0]

给了我一个表值显示

table = Selector xpath=u"descendant-or-self::table[@class and contains(concat(' ', normalize-space(@class), ' '), ' listing-table ')]" data=u'<table cellpadding="0" cellspacing="0" b'

如何访问该数据?我尝试过使用命令

 access = table.css("data").extract()

并尝试了

access = table.css("tbody tr td").extract()

两者都返回了空集。我在访问表格中的td时错过了什么路径或命令?

1 个答案:

答案 0 :(得分:3)

所以你要找的是每个表格行<td>中的<tr>元素。

为了做到这一点,你将

  1. 需要先选择所有表格行
  2. 遍历每个表格行,找到每个表格的<td>元素。
  3. 像这样:

    trs = response.css('.listing-table tr')
    for tr in trs:
        tds = tr.css('td')
        for td in tds:
            print td.extract()