2017-07-05 17 views
0

私は非常にシンプルなウェブスパイダーを持っていて、一部のものはfootball team dataです。これまでは、ページ上部のメタデータに興味がありました。 team metadata 私は、ページからデータを取得するために、Scrap ItemLoaderを使用しようとしました。しかし、それは動作しません。私だけが最初のフィールドを得ることができます。私は何を取りこぼしたか?私の治療用ItemLoaderが失敗するのはなぜですか?

ft = FootballTeamItem() 
    sel = Selector(text = response.text) 
    headerLoader = ItemLoader(ft, selector= sel) 
    # headerLoader.add_xpath('name', '//h2[@class="team-logo"]/strong/text()') 
    headerLoader.add_xpath('league','//div[contains(@class, "intro-con team-con")]/table/tbody/tr[1]/td[1]/a/text()') 
    headerLoader.add_xpath('coach', '//div[contains(@class, "intro-con team-con")]/table/tbody/tr[1]/td[2]/text()') 
    headerLoader.add_xpath('city', '//div[contains(@class, "intro-con team-con")]/table/tbody/tr[1]/td[3]/text()') 
    headerLoader.add_xpath('start', '//div[contains(@class, "intro-con team-con")]/table/tbody/tr[2]/td[1]/text()') 
    headerLoader.add_xpath('court', '//div[contains(@class, "intro-con team-con")]/table/tbody/tr[2]/td[2]/text()') 
    headerLoader.load_item() 

セレクタインスタンスを使用して、直接またはこれに似たレスポンスで、ItemLoaderを構成するさまざまな方法を試しました。しかし、それはまだ動作しませんでした。興味深いことに、コードセグメントは治療なしでうまく動作します。しかし、それは常に治療プロジェクト内で実行中に失敗します。

+0

「FootballTeamItem」の定義、スパイダーコールバック、多分、「スクレイピープロジェクトで実行中に失敗する方法と場所」を示すログを共有できますか? –

答えて

0

xpathの先頭にピリオドが必要です。

関連する問題