【发布时间】:2013-09-29 21:13:15
【问题描述】:
我是第一次使用 Scrapy,但我无法让它返回任何东西。有人可以帮我理解我做错了什么吗?
from scrapy.spider import BaseSpider
from scrapy.selector import HtmlXPathSelector
from idcode.items import StatuteItem
class IdCodeSpider(BaseSpider):
name = "idcode"
allowed_domains = ["idaho.gov"]
start_urls = ["http://legislature.idaho.gov/idstat/Title1/T1CH1SECT1-101.htm"]
def parse(self, response):
hxs = HtmlXPathSelector(response)
item = StatuteItem()
item['title'] = hxs.select("//table/tbody/tr[1]/td[2]/div[2]/div[1]/div[1]/text()").extract()
return item
我知道我项目中的其他所有内容都在工作,因为如果我在return item 上方添加item['title'] = "test",它会返回“测试”。所以我的 XPath 一定有问题,但我在 Chrome 开发者控制台中对其进行了测试,它在那里工作。
【问题讨论】:
-
你也应该给我们HTML代码来验证你的xpath
-
Why does my XPath query (scraping HTML tables) only work in Firebug, but not the application I'm developing? 的副本。此外,该站点具有可怕的错误标记,不同的 HTML 到 XML 解析器会以不同的方式对其进行解析。尝试手动构造 XPath 或转储已解析的 XML 以构造 XPath。并且:您给我们的只是一条无法按预期工作的路径;您需要页面的哪一部分?
-
我在追
<div class=" x-title-1-0">里面的文字。