如何使用python在cdata标签中提取数据?

时间:2015-05-13 05:13:24

标签: python html xml beautifulsoup cdata

我使用漂亮的汤从HTML页面获取CDATA但我必须从中提取内容并将其放入csv文件中。

这是我的代码:

from bs4 import BeautifulSoup
from urllib.request import urlopen
import re
import csv
f = open('try.html')
ff = csv.writer(open("profiletry.csv", "w"))
ff.writerow(["cdata"]) 
soup = BeautifulSoup(''.join(f.readlines()))
cdata = soup.find(text=re.compile("CDATA"))
print(cdata)
ff.writerow([cdata])
newfile = open('cdatatxt.txt','w')
newfile.write(cdata)
soup = BeautifulSoup(''.join(f.readlines()))
c_data = soup.find(text=re.compile("string"))
print(c_data)

如果我编译这个cdata被打印但我想在其中获取一个键值对中的数据,以便我可以将它存储在csv文件中。

1 个答案:

答案 0 :(得分:0)

这可能会对你有帮助。

 import re
 from bs4 import BeautifulSoup

 soup = BeautifulSoup(content)
 for x in soup.find_all('item'):
 print re.sub('[\[CDATA\]]', '', x.string)