使用 BS4 提取抓取的数据时出现问题



我对编码很陌生,所以如果我的问题看起来很基本,或者我没有正确发布,请原谅我。我正在练习从网站中提取名称,我想将它们放入列表中,然后放入.csv文件中。我的代码将打印所有名称,但是当我尝试执行其他任何操作时,它似乎只看到姓氏。我尝试了我所知道的一切,所以希望你们能提供帮助。

import urllib
import urllib.request
import requests
from bs4 import BeautifulSoup
import civ
theurl = "http://business.cardiff.ac.uk/research/accounting-and-finance/faculty"
r = requests.get(theurl)
soup = BeautifulSoup(r.text, "lxml")
print(soup.title.text)
for txt in soup.find_all("h1", {"class": "profile-title"}):
    name =  txt.text
    print(name)

在此之后,我尝试了各种方法将名称转换为列表,但只看到姓氏。

我认为您的问题出在 for 循环中,您不断覆盖name对象。试试这个:

name = []
for txt in soup.find_all("h1",{"class":"profile-title"}):
    name.append(txt.text)

这将创建一个空列表,然后依次追加在profile-title元素中找到的每个名称。

最新更新