[英]To use BeautifulSoup to extract parts of texts in webpage title
我想提取此页面上的标题文本http://www.arizona.edu/colleges/college-agriculture-life-sciences 。
这是我到目前为止的代码:
from bs4 import BeautifulSoup
import re
import urllib2
url = "http://www.arizona.edu/colleges/college-agriculture-life-sciences"
page = urllib2.urlopen(url)
soup = BeautifulSoup(page.read())
uni_name=soup.title
print uni_name
但是结果是:
<title>College of Agriculture & Life Sciences | The University of Arizona, Tucson, Arizona</title>
但是我理想的结果是:
College of Agriculture & Life Sciences
我怎样才能做到这一点?
.string
属性仅给您标记文本:
uni_name = soup.title.string
如果只想使用第一部分,请在|
拆分。 管:
uni_name = soup.title.string.partition('|')[0].strip()
它使用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'
您可以尝试使用该库( Goose )。
我试图用beautifulsoup为一些网站创建自己的提取器,但是后来我意识到Goose确实可以满足我的需求。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.