2014-04-16 81 views

回答

5

使用soup.create_tag()創建一個新的<meta>標記,設置屬性並將其添加到您的文檔<head>

metatag = soup.new_tag('meta') 
metatag.attrs['http-equiv'] = 'Content-Type' 
metatag.attrs['content'] = 'text/html' 
soup.head.append(metatag) 

演示:

>>> from bs4 import BeautifulSoup 
>>> soup = BeautifulSoup('''\ 
... <html><head><title>Hello World!</title> 
... </head><body>Foo bar</body></html> 
... ''') 
>>> metatag = soup.new_tag('meta') 
>>> metatag.attrs['http-equiv'] = 'Content-Type' 
>>> metatag.attrs['content'] = 'text/html' 
>>> soup.head.append(metatag) 
>>> print soup.prettify() 
<html> 
<head> 
    <title> 
    Hello World! 
    </title> 
    <meta content="text/html" http-equiv="Content-Type"/> 
</head> 
<body> 
    Foo bar 
</body> 
</html> 
+0

雅以其優良的正常關鍵字正常工作。但是有些內容不可能在元標記中添加。它會產生編碼錯誤。我試過.encode('UTC-8')來解決問題,但無法解決它。 – sudhakar810

+0

插入新數據時使用Unicode字符串;任何*編碼*錯誤是由於I/O錯誤(將Unicode打印到無法處理它的終端或無法處理它的文件等)。 –

+0

你能給我舉個例子嗎? – sudhakar810