我正在努力搜集阿拉巴马州足球花名册上所有球员的名字,可以在这里找到:https://rolltide.com/roster.aspx?roster=226&path=football
我可以得到第一个球员的名字,但它在他之后停止,没有得到任何其他球员的名字。你知道吗
这是我的密码:
DesiredRoster = (URLEntry.get())
driver = webdriver.Firefox()
driver.get(DesiredRoster)
#Player Name
Name = driver.find_element_by_class_name('sidearm-roster-player-name')
PlayerName = Name.find_element_by_tag_name('a').text
print(PlayerName)
我如何循环浏览此网页以获取所有名称?你知道吗
numbers = driver.find_elements_by_class_name('sidearm-roster-player-jersey-number')
print(numbers.text)
AttributeError:“list”对象没有属性“text”
奇怪的是,如果我把elements
改成element
,它会打印出第一个玩家的号码
在我的例子中,至少需要一个
User-Agent
头,然后我就可以使用requests
。然后,您可以使用css类选择器收集父节点,然后循环这些父节点并将所需信息提取到数据帧中;同样,使用更快、更短的css选择器。如前所述,在本例中,关键是使用select
收集所有父节点。这比硒的开销小。你知道吗Py:
R:
purrr
用于处理父节点上的循环以写入df。^来自stringr
的{httr
用于提供头。你知道吗对于任何想要使用R(
rvest
)的人,下面是将花名册数据收集到数据框中的代码:技巧是选择Xpath而不是CSS选择器,并在
html_nodes()
调用中使用xpath=
。你知道吗这显然有点难看,但它不需要硒或其他沉重的设置。你知道吗
编辑:您应该查看上面QHarr的答案,以获得更精简的代码。你知道吗
您正在使用只返回单个值的
driver
方法find_element_by_class_name
,请切换到find_elements_by_class_name
以获取列表,然后遍历该列表:相关问题 更多 >
编程相关推荐