如何使用 python 在 cdata 标签中提取数据?
How to extract data within a cdata tag using python?
我用漂亮的汤从 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 文件中。
这可能对你有帮助。
import re
from bs4 import BeautifulSoup
soup = BeautifulSoup(content)
for x in soup.find_all('item'):
print re.sub('[\[CDATA\]]', '', x.string)
我用漂亮的汤从 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 文件中。
这可能对你有帮助。
import re
from bs4 import BeautifulSoup
soup = BeautifulSoup(content)
for x in soup.find_all('item'):
print re.sub('[\[CDATA\]]', '', x.string)