0

私は初めて 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

item['title'] = "test"上記を追加するreturn itemと「test」が返されるため、プロジェクトの他のすべてが機能していることはわかっています。したがって、XPath に何か問題があるに違いありませんが、Chrome 開発者コンソールでテストしたところ、そこで動作しています。

4

2 に答える 2

1

削除tbodyすると問題が解決しました。

item['title'] = hxs.select("//table/tr[1]/td[2]/div[2]/div[1]/div[1]/text()").extract()
于 2013-09-29T13:13:15.477 に答える
0

コードを作成するだけでなく、コードを使用したい場合は、Goose プロジェクトを使用できます。テキストとメディア専用ですが、何度も使っていますが問題ありません。

リンクは次のとおりです。

https://github.com/grangier/python-goose

于 2013-09-29T09:53:39.660 に答える