用BeautifulSoup提取网页ti中的部分文本

2024-09-28 19:29:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我想提取这个页面上的标题文本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

但结果是:

^{pr2}$

但我的理想结果是:

College of Agriculture & Life Sciences

我怎么能做到呢?在


Tags: importhttpurlwwwpageurllib2edusoup
2条回答

你可以试试这个库(Goose)。在

我试图用beauthulsoup为一些网站创建自己的提取器,但后来我意识到Goose正是我需要的。在

.string属性只提供标记文本:

uni_name = soup.title.string

如果只想使用第一部分,请在|管道上拆分:

^{pr2}$

它使用^{}只分割一次(为了提高效率),获取结果的第一部分,并删除结果周围的任何额外空白。在

演示:

>>> soup.title
<title>College of Agriculture &amp; 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'

相关问题 更多 >