用BeautifulSoup解析标签
问题描述:
我被一个关于BeautifulSoup的python编程问题卡住了。用BeautifulSoup解析标签
首先,我需要创建一个函数,从网页的源页面提取所有标记。我这样做如下:
from bs4 import BeautifulSoup
soup=BeautifulSoup(''.join(data))
def parseUsingSoup(content):
return soup.findAll('h3')
网站我试图解析是这个:http://www.auc.nl/news-events/events-and-lectures/events-and-lectures.html?page=1&pageSize=40
它仅包含一个H3标签。现在这个问题需要我扩展我的功能,以便它还将返回与p标签内相关的所有内容。它还要求提供四个元组的事件列表,列出事件的日期,标题,类型和描述。
我真的不知道该怎么做。我尝试了各种不同的东西,但没有给我带来正确的结果。先谢谢你。
答
这里有一种方法,你可以得到所有的<h3>
下<p>
标签:
from bs4 import BeautifulSoup
import urllib2
content = 'http://www.auc.nl/news-events/events-and-lectures/events-and-lectures.html?page=1&pageSize=40'
soup = BeautifulSoup(urllib2.urlopen(content))
for x in soup.findAll('h3'):
for y in soup.findAll('p'):
print y
然后你就可以在您认为合适这个输出解析成一个列表。
谢谢!这非常有帮助。是否有可能从HTML代码中调用事件的时间(以及类型,标题等)?这样我可以为每个事件单独制作字典(然后再将它们放入列表中)? – verdict
是的,你似乎只需要尝试获取不同的标签,直到找到合适的标签为止。对于评论的第二部分,可以将结果保存到变量中,然后解析该变量。有关更详细的答案,请创建一个新问题。 – Stedy