我试图从锚标记中提取文本。我知道find_all
返回一个ResultSet对象,我需要迭代它,但是,我似乎无法使它工作。我的代码如下:
for all in soup.find("div", {"id": "info-area"}):
Name = all.find_all("a")
#print(Name) # Returns everything
#print(Name.text) # throws error
for the_name in Name:
print(Name.text) # throws error
显然,我做错了什么但不太确定是什么?
答案 0 :(得分:1)
问题是第一次循环,将代码更改为:
all_div = soup.find("div", {"id": "info-area"}) #find div with id = info-area
Name = all_div.find_all("a") # under all_div find all a
for the_name in Name: #loop through each a
print(the_name.text) #print each a text
答案 1 :(得分:0)
@Maverick,
“名称”是列表,其中包含所有“a”标记元素。
您不能在列表中使用.text属性。
根据我的理解,以下代码应该可以使用
for the_name in Name:
print(the_name.text)
你的方法是正确的。但是你在上面的循环中所犯的错误是,对于列表中的每个元素,你调用元素(“the_name”)而不是列表(“Name”)