列表上的Python正则表达式

列表上的Python正则表达式,python,xml,parsing,Python,Xml,Parsing,我正在尝试构建一个解析器并将结果保存为xml文件,但我遇到了一些问题 请你们看一下我的密码好吗 回溯:TypeError:应为字符串或缓冲区 您尝试使用BeautifulSoup解析HTML是件好事,但这样做行不通: re.compile('<h1 class="title metadata_title content_perceived_text(.*?)`</h1>', re.DOTALL | re.IGNORECASE).findall(soup)

我正在尝试构建一个解析器并将结果保存为xml文件,但我遇到了一些问题

请你们看一下我的密码好吗

回溯:TypeError:应为字符串或缓冲区


您尝试使用BeautifulSoup解析HTML是件好事,但这样做行不通:

re.compile('<h1 class="title metadata_title content_perceived_text(.*?)`</h1>',
           re.DOTALL | re.IGNORECASE).findall(soup)

如果您确实希望使用正则表达式将文档解析为文本,那么不要使用BeautifulSoup-只需将文档读入字符串并进行解析即可。但我建议你花点时间学习BeautifulSoup是如何工作的,因为这是最好的方法。有关更多详细信息,请参阅。

Hi-Peter;欢迎来到SO。突出显示代码并按ctrl-k键以使其正确格式化。我试图删除一些空白,同时希望保留您的代码。如果我犯了任何错误,请回滚。此外,如果可以,请发布回溯;这将显示发生错误的行。谢谢。我猜错误在这里:re.compile'..。findallsoupon你可能是对的,马克。但是我们为什么要猜测OP什么时候可以并且应该学习使用提供的调试工具呢?很抱歉,我是新手。。我试着把这根柱子修好了。。显然,我不能在汤上做一个记录啊,是的,但它找不到剩下的。。我真的很难让BS从标签中找到内容。@Peter Nielsen:你能解释一下“它找不到其余内容”是什么意思吗?我的更新是否回答了你的问题?@Peter Nielsen:我如何找到标签中的内容。试试这个:对于soup.findAll'h1中的标记:print tag.contentsuhhh。。非常非常非常好。。我只是浑身刺痛太好了。@Peter,既然你喜欢这个答案,你就应该投票接受它——这是非常基本的礼仪!
re.compile('<h1 class="title metadata_title content_perceived_text(.*?)`</h1>',
           re.DOTALL | re.IGNORECASE).findall(soup)
regex = re.compile('^title metadata_title content_perceived_text', re.IGNORECASE)
for tag in soup.findAll('h1', attrs = { 'class' : regex }):
    print tag.contents