我正试图从另一个网页上得到一份学院和他们的网站的名单。
我已经得到输入以显示我想要的每一行的HTML,但是我正在尝试进一步格式化文本。我只想显示学院的名字和那个学院的链接。有什么想法吗?
这是我的密码:
url = "http://www.arizona.edu/colleges"
page = urllib2.urlopen(url)
soup = BeautifulSoup(page.read())
universities = soup.findAll('span', {'class' : 'field-content'})
for eachuniversity in universities:
print eachuniversity下面是我在eachuniversity上得到的一个例子
<div class="views-field-title">
<span class="field-content">
<a href="/colleges/college-agriculture-life-sciences">
<h3>College of Agriculture & Life Sciences</h3>
</a>
</span>
</div>发布于 2012-08-19 06:26:13
下面这些会让你找到你想要的东西。用于此操作的信息在BeautifulSoup文档 (第4版文件)中很容易访问。
for uni in universities:
link = uni.find("a")
college_name = link.text
web_page = link["href"]对于第一个uni (您的示例):
>>> print web_page
"/colleges/college-agriculture-life-sciences"
>>> print college_name
College of Agriculture & Life Sciences我将把处理相对/绝对链接和特殊HTML字符作为练习留给您。
这是如何工作的
从您的最近的问题中,我了解到您在从uni对象中提取标记时遇到了困难。universities变量是Tag对象的集合,每个对象都是一个类似字典的对象,可用于访问其子对象。尝试阅读“导航分析树”,以便更好地处理如何使用BeautifulSoup进行解析。
https://stackoverflow.com/questions/12024415
复制相似问题