from bs4 import BeautifulSoup #imports beautifulSoup package
import urllib2
url2 = 'http://www.waldenu.edu/doctoral/phd-in-management/faculty'
page2 = urllib2.urlopen(url2)
soup2 = BeautifulSoup(page2.read(), "lxml")
row2 = soup2.findAll('p')
row2 = row2[18:-4]
names2 = []
firstName = []
lastName = []
for x in row2:
currentString2 = x.findAll('strong')
if len(currentString2) > 0:
currentString2 = currentString2[0].text
tokens = currentString2.split(' ')
firstName.append(tokens[0])
for token in tokens[1:]:
check = tokens[1]
if check[1] != '.': and check[1] != '\\':
lastName.append(tokens[1])
嘿伙计们,我正在尝试解析这个列表,我收集名字并将这些名字放在他们自己的列表中,然后找到姓氏并将它们放在他们自己的列表中。我也在检查他们是否在第一个名字之后有一个首字母,如“John B. Smith”,并且基本上是跳过“B”。所以我只将姓氏附加到列表中。有什么帮助吗?我想我现在所拥有的只是如果这个人的名字有一个中间的首字母,就不会附上姓氏。 :/
答案 0 :(得分:0)
如果你有信心丢掉中间的任何东西,听起来就像是:
#omitted
tokens = currentString2[0].text
assert(len(tokens) >= 2)
firstName.append(tokens[0])
lastName.append(tokens[-1])