Python - 格式化不起作用的列表中的字符串

时间:2016-11-26 19:27:34

标签: python xpath

我想抓取一个网页以获取一些信息以及我到目前为止所做的工作但是我需要向网站上的其他网址发出请求,我正在尝试格式化但它没有用,这是我到目前为止所做的:

name = input("> ")

page = requests.get("http://www.mobafire.com/league-of-legends/champions")
tree = html.fromstring(page.content)

for index, champ in enumerate(champ_list):
    if name == champ:
        y = tree.xpath(".//*[@id='browse-build']/a[{}]/@href".format(index + 1))
        print(y)

        guide = requests.get("http://www.mobafire.com{}".format(y))
        builds = html.fromstring(guide.content)
        print(builds)

        for title in builds.xpath(".//table[@class='browse-table']/tr[2]/td[2]/div[1]/a/text()"):
            print(title)

从输入中,用户输入名称;如果名称与列表中的名称匹配(champ_list),则会打印一个网址,然后将其格式化为guide变量并获取其他信息,但我收到的错误如{{1} }}

这是输出网址(其中一个但无论如何它们都相似)invalid ipv6

我尝试使用切片,但它没有做任何事情,可能我使用它错了或者它在这种情况下不起作用。我也试过使用替换,他们不在列表上工作;尝试使用它:

['/league-of-legends/champion/ivern-133']所以我可以看到它是否至少删除了引号,但它既不起作用也不起作用;什么可以是另一种正确格式化的方法?

1 个答案:

答案 0 :(得分:1)

我认为你是要插入字符串的列表吗?

试试这个:

"http://www.mobafire.com{}".format('/'.join(y))