嵌套打印在python中的嵌套循环中

时间:2017-06-02 12:31:07

标签: python python-3.x for-loop beautifulsoup nested-loops

如何创建在两个for循环中创建的输出?

我想拥有什么:

Name1
Adress1

Name2
Adress2

..

我得到了什么:

Name1
Name2

Adress1
Adress2

我已经尝试了很多并回到了初始状态。

从HTML文档中解析名称和地址,并使用for循环将其写入txt文件。 (在控制台的第一步)

我提前谢谢你了!

    with urllib.request.urlopen("file:///C:/Users/x/Desktop/test.html") as url:
        soup = BeautifulSoup(url, "html.parser")
        for name in soup.findAll("div", { "class" : "name m08_name" }):
            print(name.get_text())
        for adress in soup.findAll("div", { "class" : "adresse m08_adresse" }): 
            print(adress.get_text())     

1 个答案:

答案 0 :(得分:1)

您只需要保存部分结果,然后将它们压缩到一起。

请注意,您必须确保名称数量与地址数量完全相同。

with urllib.request.urlopen("file:///C:/Users/x/Desktop/test.html") as url:
    soup = BeautifulSoup(url, "html.parser")

    names = [name.get_text() for name in soup.findAll("div", { "class" : "name m08_name" })]
    addresses = [address.get_text() for adress in soup.findAll("div", { "class" : "adresse m08_adresse" })]
    for line in zip(names, addresses):
        print("%s\n%s" % line)