Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 无法遍历XPathSelectorList_Python_Xpath_Scrapy_Firebug - Fatal编程技术网

Python 无法遍历XPathSelectorList

Python 无法遍历XPathSelectorList,python,xpath,scrapy,firebug,Python,Xpath,Scrapy,Firebug,我构建了以下简单的web刮板: 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/

我构建了以下简单的web刮板:

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
我去,我想刮和打印每一个普通股的实例,是普通股的2倍

我已经用hxs.select/html/body/table[3]/tbody/tr标识了表中的行,当打印返回的XPathSelector列表的长度时,它打印2,但是for循环中的打印返回2个空括号[]。我使用了Firebug来获取XPath,我检查了tbody是否在源代码中


你知道我做错了什么吗

在内部选择so站点中使用相对路径。选择td[1]/span[1]/text.extract,而不是您拥有的内容。

谢谢!它就像一个符咒。您能否详细说明使用/before和不使用/before之间的区别?任何从文档节点开始以/selects down开头的路径都会选择文档节点的第一个td子元素。您需要站点节点的第一个td子节点,因此需要使用相对路径。谢谢!希望我能更好地理解Xpath: