我在下面构建了简单的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
实际上是否在源代码中。
对我做错的任何想法?
答案 0 :(得分:1)
在内部选择中使用相对路径,而不是您拥有的site.select("td[1]/span[1]/text()").extract()
。