无法使用BS4提取抓取的数据

时间:2017-01-25 15:49:14

标签: python

我对编码很陌生,所以请原谅我,如果我的问题看起来很基本,或者我没有正确发布。我正在练习从网站中提取名称,我想将它们放入列表,然后是.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)

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

1 个答案:

答案 0 :(得分:0)

我认为你的问题出现在for循环中,你继续覆盖name对象。试试这个:

name = []

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

这将创建一个空列表,然后连续附加profile-title元素中的每个名称。