最初にオフにすると、タイトルがあまり明確でない場合はごめんなさい。私はタイトルで何をしたいのかを説明する方法についてはあまりよく分かりません。とにかくPython xpath - 正しい順序で情報を取得
ウェブサイトから情報を取得しています。私はすでに私が欲しい情報を持っているが、私は、スクリプトを実行すると、以下のように、私は出力を得る:
Ivern Jungle
Starting Items
Hunter's Talisman
Refillable Potion
Warding Totem
First Goal
Stalker's Blade
Tracker's Knife
Boots of Speed
Hunter's Potion
Vision Ward
Sweeping Lens
Second Goal
私はそれはこのようになりたいときは:
Ivern Jungle
Starting Items
Hunter's Talisman
Refillable Potion
Warding Totem
First Goal
Stalker's Blade
Tracker's Knife
Boots of Speed
Hunter's Potion
Vision Ward
Sweeping Lens
Second Goal
私はいくつかのことを試してみましたコードで。これが私が望むように働くことができる唯一の方法です。 Ivern jungle
はタイトルです。 Starting Items
は別のタイトルであり、First Goal
別のタイトルです。私が最初にタイトルを取得してから、他の情報(アイテム)を取得する前に。これは私が今持っているコードです。
for build_names in guide_page.xpath(".//div[@class='build-container box-shadow-lb']"
"/div[1]/div[1]/div[1]/div[1]/div[1]"):
for title in build_names.xpath("div[1]/h2/text() | div[3]/div[1]/div/h2/text() | "
"div[3]/div[1]/div/div/div/a/div[2]/span/text()"):
print(title)
それは私がそれを右に得ることができた方法ですので、私は、forループをtitle
からの情報のほとんどを取得しています。より効率的な方法があれば、私はところで
を教えてください、その情報は、特定のウェブサイトからですが、ウェブサイトでは、私はこのような情報を入手する別の特定のWebサイトから、変更することができます:あなたは私が得ることはありません見ることができるように
Kled The Talker # Title
Kled Tank/Ad Top # Title
Mercury's Treads
The Black Cleaver
Titanic Hydra
Frozen Mallet
Dead Man's Plate
Guardian Angel
Kled Ad/LifeSteal # Title
Mercury's Treads
The Black Cleaver
Ravenous Hydra
Death's Dance
Maw of Malmortius
Guardian Angel
間にあるスペース。 first websiteに行くと、アイテムセクションにアイテムセクションの各タイトルの右側にメモがあることがわかります。私はそれらがsecond websiteにメモがないので、出力にスペースを入れるものだと思う。まあ、それは私の主な問題です。どのように出力をフォーマットできますか?私が自分自身をあまりにも明確に説明しなかったなら、私に知らせてください。私は質問を更新します、ありがとう! :)
優秀、ありがとうございました。それはあまりにも多くの質問をしないでください。私が使用していた 'for'の上には、ちょうどコードブロックを表示していた' if'がありました。 htmlには 'style =" display:block; 'または' style = "display:none;' divsがあります。 'style =" display:block; 'を使いたい、あなたは[ここ](http://www.mobafire.com/league-of-legends/build/open-your-eyes-lee-sin-jungle-guide-393845)を見ると、上に2枚の写真があることがわかります"ビルド1"と "ビルド2"のタイトル、 "ビルド1"から情報を取得したいのですがどうすればいいですか?ありがとう – Aguxez
@fuhrerguxezそれは簡単ではありません:これらの属性はjQueryによって動的に追加されます。 "Build 1"は常にHTMLの "Build 2"の前にリストされ、次にpage.xpath( '// div [contains(@class、 "build-container" )]/div ')[0] '。そのノードから後続のxpathsをrebaseする必要があります。 –
申し訳ありません、私はそれを働かせました;私はいくつかのものを変更しました。私は思う、私はそれを徹底的にテストします;あなたの助けの男のために感謝!:) – Aguxez