美丽的汤添加HTML属性的引用

时间:2011-08-26 06:07:50

标签: python beautifulsoup

提前致谢,

我目前正在使用漂亮的汤来解析一组HTML中的注释标记。我遇到的问题是被抓取的html没有封装HTML标签的属性值的引用。然而BeautifulSoup似乎添加了这些,在某些情况下可能是可取的,但不幸的是不适合我的情况。

如果不在via BeautifulSoup中添加引号,那么保留实际HTML完整的最佳路径 - 或者可以将它们重新添加?

1 个答案:

答案 0 :(得分:0)

您有一个标记,其中引用了某些属性值,而某些属性值未引用。你是什​​么意思'添加引用':要么edit each attribute value来修改引号(可能是一个糟糕的主意),要么在渲染时添加引号。这取决于您对标签进行的其他处理。这是在打印时添加引号的代码:

input = "<html><sometag attr1=dont_quote_me attr2='but this one is quoted'>Text</sometag></html>"

bs = BeautifulSoup(input)

bs2 = bs.find('sometag')
for a in bs2.attrs:
    (attr,aval) = a
    print "%s='%s'" % (attr,aval),

给出attr1='dont_quote_me' attr2='but this one is quoted'

这取决于你的方式。我假设他们都是单词,即匹配正则表达式\w+