的Python的XPath - 得到正确的顺序

首先,我很抱歉,如果标题还不是很清楚的信息;我不太清楚如何解释我想用标题做什么;无论如何。的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)

我越来越从title大部分的信息循环,因为这就是我设法得到它的权利;如果有更有效的方式去做;请让我知道

顺便说,信息是从一个特定的网站,但网站可以改变从另一个特定网站,我得到这样的信息:

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 div in page.xpath('//div[contains(@class, "item-wrap")]'): 

print("\n{bar}\n{title}\n{bar}".format(

bar="#"*20,

title=div.xpath('.//h2/text()')[0].strip()))

print('\n'.join(x.strip() for x in div.xpath(

'.//div[contains(@class, "main-items")]//span/text()')))

输出摘录:

#################### 

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

####################

Rod of Ages

Boots of Mobility

Ionian Boots of Lucidity

Boots of Swiftness

Sorcerer's Shoes

Oracle Alteration

这些XPath的效果一样好,你链接到第二页上。

以上是 的Python的XPath - 得到正确的顺序 的全部内容, 来源链接: utcz.com/qa/263296.html

回到顶部