无法遍历XPathSelectorList

时间:2014-06-27 10:04:11

标签: python xpath scrapy firebug

我在下面构建了简单的web-scraper:

from scrapy.spider import BaseSpider
from scrapy.selector import HtmlXPathSelector


class ITTester(BaseSpider):
    name = 'ITTester'
    allowed_domains = ["sec.gov"]
    start_urls = ['http://www.sec.gov/Archives/edgar/data/320193/000112760212034445/xslF345X03/form4.xml']

    def parse(self, response):
    hxs = HtmlXPathSelector(response)
    sites = hxs.select("/html/body/table[3]/tbody/tr")
    print len(sites)
    for site in sites:
        HHH = site.select("/td[1]/span[1]/text()").extract()
        print HHH

我前往this site,我想抓取并打印每个“普通股”的实例(即“普通股”的2倍)。

我已经使用hxs.select("/html/body/table[3]/tbody/tr")标识了表格的行,并且在打印返回的XPathSelectorList的长度时,它打印2,但for loop中的打印返回2个空白括号[] 。我使用Firebug来获取XPath,我已检查tbody实际上是否在源代码中。

对我做错的任何想法?

1 个答案:

答案 0 :(得分:1)

在内部选择中使用相对路径,而不是您拥有的site.select("td[1]/span[1]/text()").extract()