我想在此页面上提取标题文本http://www.arizona.edu/colleges/college- 农业 </跨度> -生命科学。
这是我到目前为止的代码:
来自bs4进口BeautifulSoup进口重新import importurllib2
url =“http://www.arizona.edu/colleges/college- 农业 </跨度> -生命科学”page = urllib2.urlopen(url)汤= BeautifulSoup(page.read())
uni_name = soup.title
print uni_name
但结果是
你可以试试这个库( 鹅 )。
我试图为一些带有beautifulsoup的网站创建我自己的提取器,但后来我意识到Goose完全符合我的需要。
该 .string 属性为您提供标记文本:
.string
uni_name = soup.title.string
如果你只想使用第一部分,请拆分 | 管:
|
uni_name = soup.title.string.partition('|')[0].strip()
这用 str.partition() 分割一次(为了效率),获取结果的第一部分,并删除该结果周围的任何额外空格。
str.partition()
演示:
>>> soup.title <title>College of Agriculture & Life Sciences | The University of Arizona, Tucson, Arizona</title> >>> soup.title.string u'College of Agriculture & Life Sciences | The University of Arizona, Tucson, Arizona' >>> soup.title.string.partition('|')[0].strip() u'College of Agriculture & Life Sciences'