Python 循环只返回一个结果

桑奇亚

刚开始学习Python和Beautiful Soup所以请温柔。我一直在努力解决的一个问题是,在抓取时我只能使用以下代码获得一个回报:

import bs4
from urllib.request import urlopen as uReq
from bs4 import BeautifulSoup as soup

my_url = 'https://www.dailyfaceoff.com/teams/pittsburgh-penguins/line-combinations/'

uClient = uReq(my_url)
page_html = uClient.read()
uClient.close()

page_soup = soup(page_html,"html.parser")

containers = page_soup.findAll("div",{"class":"team-line-combination-wrap"})


for container in containers:
    name_container = container.findAll("span",{"class":"player-name"})
    name = name_container[0].text
    print(name)

只是不确定是什么导致了这种情况发生。当我检查 name_container 时,它包含我用 findAll 找到的所有结果,但是当循环开始时它只返回一个结果。非常感谢任何帮助/方向/指导。

脏位

您需要遍历所有内容,name_container而不仅仅是containers

from urllib.request import urlopen as uReq
from bs4 import BeautifulSoup as soup

my_url = 'https://www.dailyfaceoff.com/teams/pittsburgh-penguins/line-combinations/'

uClient = uReq(my_url)
page_html = uClient.read()
uClient.close()

page_soup = soup(page_html,"html.parser")

data = page_soup.findAll("div",{"class":"team-line-combination-wrap"})


for container in data:
    name_container = container.findAll("span",{"class":"player-name"})
    for cont in name_container:
        print(cont.text)

输出:

Jake Guentzel
Sidney Crosby
Bryan Rust
.
.
.
Matt Murray
Olli Maatta

Process finished with exit code 0

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Python for 循环只返回字典的最后一个值

在python中通过从一个文本文件到另一个文本文件的循环搜索,同时每个搜索项只返回一个结果

Python for 循环只写一个 json 文件

python 在循环后只打印一个空行

Python for 循环只创建一个文件

Python 循环只返回满足条件的第一个组(提供数据、代码、图片和示例)

sql循环只返回一个结果

Foreach 循环只返回最后一个结果

如何在 Python3 中向调用函数返回更多值并显示结果,目前它只打印第一个值而不增加?

Python-Beautifulsoup-仅返回一个结果

如何使用python删除循环列表中的元素,直到只剩一个元素?

Pygame / Python的For循环只使精灵列表中的最后一个元素

Python 只打印一个文件

BeautifulSoup 只返回一个结果

Python re.findall 只返回第一个字符

python正则表达式,只返回第一个数字匹配

python正则表达式,只返回第一个匹配项

while 循环中的 Foreach 循环只返回一个结果

用 Python 构建一个 IP 扫描器,返回活动主机列表。只返回一台主机

python循环request.get()仅返回第一个循环

为什么它只更改列表中的最后一个字符串?(for循环)python

在Python中并行化一个简单的循环并通过并发获取结果

为什么我的for循环在python列表迭代器之后只有一个结果?

Python:如何将for循环的结果合并为一个输出?

For循环返回最后一个结果

Python中的多处理:仅保留返回的第一个结果

如何多次运行一个函数并返回不同的结果python

另一个函数返回结果后的Python结束函数

当一个人返回结果时,Python会停止多个进程吗?