Python 删除<--//--&燃气轮机&书信电报;![CDATA[//>;来自HTML
我正试图从HTML文件中删除Python 删除<--//--&燃气轮机&书信电报;![CDATA[//>;来自HTML,python,python-2.7,beautifulsoup,Python,Python 2.7,Beautifulsoup,我正试图从HTML文件中删除[CDATA[,但它不起作用 这是我得到的密码 from bs4 import BeautifulSoup def stripIt(string, tag): soup = BeautifulSoup(string) data = open("tet.txt",'a') rmtags = soup.findAll(tag) for t in rmtags: string = string.replace(str(t),
[CDATA[
,但它不起作用
这是我得到的密码
from bs4 import BeautifulSoup
def stripIt(string, tag):
soup = BeautifulSoup(string)
data = open("tet.txt",'a')
rmtags = soup.findAll(tag)
for t in rmtags:
string = string.replace(str(t), '')
data.write(string)
return string
testhtml = '''
<!--//--><![CDATA[//><!--
jQuery.extend(Drupal.settings, { "basePath": "/", "fivestar": { "titleUser": "Your rating: ", "titleAverage": "Average: ", "feedbackSavingVote": "Saving your vote...", "feedbackVoteSaved": "Your vote has been saved.", "feedbackDeletingVote": "Deleting your vote...", "feedbackVoteDeleted": "Your vote has been deleted." }, "disqus": { "url": "http://beta.mangalam.com/wayanad/139068", "title": "ക്നാനായ കത്തോലിക്കാ കോണ്ഗ്രസ്സ് കുടുംബസംഗമം നടത്തി", "identifier": "node/139068", "shortname": "mangalam" } });
//--><!]]>
അവഹേളനപരവും വ്യക്തിപരമായ അധിക്ഷേപങ്ങളും അശ്ളീല പദപ്രയോഗങ്ങളും ദയവായി ഒഴിവാക്കുക. അഭിപ്രായങ്ങള് മലയാളത്തിലോ ഇംഗ്ലീഷിലോ എഴുതുക. മംഗ്ലീഷില് എഴുതുന്ന അഭിപ്രായങ്ങള് പോസ്റ്റ് ചെയ്യുന്നതല്ല.
ഇംഗ്ലീഷില് ടൈപ് ചെയ്ത് മലയാളമാക്കാനുള്ള സംവിധാനം ഏര്പ്പെടുത്തിയിട്ടുണ്ട് ടൈപ്പ് ചെയ്യാന് ഇവിടെ ക്ലിക്ക് ചെയ്യുകബൈക്കില് കാട്ടുപന്നിയിടിച്ച് മറിഞ്ഞു: അച്ഛനും മകനും പരുക്ക്പുല്പ്പള്ളി: ഓടിക്കൊണ്ടിരുന്ന ബൈക്കിലേക്ക് കാട്ടുപന്നി... കര്ഷക വഞ്ചനക്ക് തെരഞ്ഞെടുപ്പില് തിരിച്ചടി നല്കാന് ഹരിതസേന തയാറെടുക്കുന്നുമാനന്തവാടി: ആസന്നമായ പൊതുതെരഞ്ഞെടുപ്പ് ലക്ഷ്യമാക്കി കര്ഷക ക്ഷേമ... കോളനി വികസനത്തിന് രണ്ട് കോടിയുടെ ഭരണാനുമതികല്പ്പറ്റ: പടിഞ്ഞാറത്തറ പഞ്ചായത്തിലെ പാറനിരപ്പുകുന്ന്, ചെമ്പകമൂല... ടെക്ഫെസ്റ്റ്: മത്സര വിജയികള്ക്ക് കാല്ലക്ഷത്തിലേറെ തുക സമ്മാനംകല്പ്പറ്റ: നൂതനങ്ങളായ സാങ്കേതിക ഉല്പന്നങ്ങളെയും പദ്ധതികളേയും... ബത്തേരി സമ്പൂര്ണ പെന്ഷന് പഞ്ചായത്തായിബത്തേരി: സമ്പൂര്ണ പെന്ഷന് പദ്ധതി നയത്തിന്റെ ഭാഗമായി ബത്തേരി... ബത്തേരി ഉപജില്ലാ കലോത്സവം: മീനങ്ങാടി ജി.എച്ച്.എസ്. ചാമ്പ്യന്മാര്പുല്പ്പള്ളി: വിജയ എച്ച്.എസ്.എസില് നടന്ന 54 -ാമത് ബത്തേരി... പുകയില ഉപയോഗത്തിനെതിരേ സൈക്കിള് യാത്രകല്പ്പറ്റ: പുകയില ഉത്പന്നങ്ങളുടെ ഉപയോഗം ഉപേക്ഷിക്കണമെന്ന... അഞ്ചു വര്ഷത്തിനിടെ വയനാടിന് നഷ്ടമായത് അഞ്ചര കോടി രൂപകല്പ്പറ്റ: സര്ക്കാര് സ്കൂളുകളില് ചിത്രകലാ അധ്യാപകരുടെയും... പാരലല് കോളേജ് ജില്ലാ കായികമേള: ബത്തേരി മലബാര് കോളേജിന് ഒന്നാം സ്ഥാനംകല്പ്പറ്റ: എസ്.കെ.എം.ജെ. ഹയര്സെക്കന്ഡറി സ്കൂള് ഗ്രൗണ്ടില്... ക്രിസ്മസ്, പുതുവത്സര ആഘോഷങ്ങള് മദ്യവിമുക്തമാക്കണംമാനന്തവാടി: ക്രിസ്മസ്, പുതുവത്സര ആഘോഷങ്ങള് മദ്യവിമുക്... ക്രിസ്തുമസ്-പുതുവത്സരാഘോഷം: വ്യാജമദ്യ ഉല്പ്പാദനം തടയുന്നതിന് കണ്ട്രോള് റൂംകല്പ്പറ്റ: ക്രിസ്തുമസ്-പുതുവത്സര ആഘോഷത്തോടനുബന്ധിച്ച്... സ്റ്റേഡിയം ഉദ്ഘാടനം: റോഡ്ഷോ നടത്തികല്പ്പറ്റ: ഈ മാസം 17-ാം തീയതി ഉദ്ഘാടനം ചെയ്യപ്പെടുന്ന കൃഷ്... <ul class="news_list">
<li> <a href="#" target="_blank">സെന്സെക്സ് 200 പോയന്റ് ഇടിഞ്ഞു</a></li>
<li> <a href="#">പാകിസ്താനില് മിസൈല് ആക്രമണം: 16 മരണം</a></li>
<li> <a href="#">സച്ചിന് രാജ്യസഭാംഗമായി സത്യപ്രതിജ്ഞ ചെയ്തു</a></li>
<li> <a href="#" target="_blank">സെന്സെക്സ് 200 പോയന്റ് ഇടിഞ്ഞു</a></li>
<li> <a href="#">പാകിസ്താനില് മിസൈല് ആക്രമണം: 16 മരണം</a></li>
<li> <a href="#">സച്ചിന് രാജ്യസഭാംഗമായി സത്യപ്രതിജ്ഞ ചെയ്തു</a></li>
'''
#print stripIt(testhtml, 'li')
从bs4导入美化组
def stripIt(字符串、标记):
汤=美汤(串)
数据=打开(“tet.txt”,“a”)
rmtags=soup.findAll(标记)
对于RMT标签中的t:
string=string.replace(str(t),“”)
data.write(字符串)
返回字符串
testhtml=''
അവഹേളനപരവും വ്യക്തിപരമായ അധിക്ഷേപങ്ങളും അശ്ളീല പദപ്രയോഗങ്ങളും ദയവായി ഒഴിവാക്കുക. അഭിപ്രായങ്ങള് മലയാളത്തിലോ ഇംഗ്ലീഷിലോ എഴുതുക. മംഗ്ലീഷില് എഴുതുന്ന അഭിപ്രായങ്ങള് പോസ്റ്റ് ചെയ്യുന്നതല്ല.
ഇംഗ്ലീഷില് ടൈപ് ചെയ്ത് മലയാളമാക്കാനുള്ള സംവിധാനം ഏര്പ്പെടുത്തിയിട്ടുണ്ട് ടൈപ്പ് ചെയ്യാന് ഇവിടെ ക്ലിക്ക് ചെയ്യുകബൈക്കില് കാട്ടുപന്നിയിടിച്ച് മറിഞ്ഞു: അച്ഛനും മകനും പരുക്ക്പുല്പ്പള്ളി: ഓടിക്കൊണ്ടിരുന്ന ബൈക്കിലേക്ക് കാട്ടുപന്നി... കര്ഷക വഞ്ചനക്ക് തെരഞ്ഞെടുപ്പില് തിരിച്ചടി നല്കാന് ഹരിതസേന തയാറെടുക്കുന്നുമാനന്തവാടി: ആസന്നമായ പൊതുതെരഞ്ഞെടുപ്പ് ലക്ഷ്യമാക്കി കര്ഷക ക്ഷേമ... കോളനി വികസനത്തിന് രണ്ട് കോടിയുടെ ഭരണാനുമതികല്പ്പറ്റ: പടിഞ്ഞാറത്തറ പഞ്ചായത്തിലെ പാറനിരപ്പുകുന്ന്, ചെമ്പകമൂല... ടെക്ഫെസ്റ്റ്: മത്സര വിജയികള്ക്ക് കാല്ലക്ഷത്തിലേറെ തുക സമ്മാനംകല്പ്പറ്റ: നൂതനങ്ങളായ സാങ്കേതിക ഉല്പന്നങ്ങളെയും പദ്ധതികളേയും... ബത്തേരി സമ്പൂര്ണ പെന്ഷന് പഞ്ചായത്തായിബത്തേരി: സമ്പൂര്ണ പെന്ഷന് പദ്ധതി നയത്തിന്റെ ഭാഗമായി ബത്തേരി... ബത്തേരി ഉപജില്ലാ കലോത്സവം: മീനങ്ങാടി ജി.എച്ച്.എസ്. ചാമ്പ്യന്മാര്പുല്പ്പള്ളി: വിജയ എച്ച്.എസ്.എസില് നടന്ന 54 -ാമത് ബത്തേരി... പുകയില ഉപയോഗത്തിനെതിരേ സൈക്കിള് യാത്രകല്പ്പറ്റ: പുകയില ഉത്പന്നങ്ങളുടെ ഉപയോഗം ഉപേക്ഷിക്കണമെന്ന... അഞ്ചു വര്ഷത്തിനിടെ വയനാടിന് നഷ്ടമായത് അഞ്ചര കോടി രൂപകല്പ്പറ്റ: സര്ക്കാര് സ്കൂളുകളില് ചിത്രകലാ അധ്യാപകരുടെയും... പാരലല് കോളേജ് ജില്ലാ കായികമേള: ബത്തേരി മലബാര് കോളേജിന് ഒന്നാം സ്ഥാനംകല്പ്പറ്റ: എസ്.കെ.എം.ജെ. ഹയര്സെക്കന്ഡറി സ്കൂള് ഗ്രൗണ്ടില്... ക്രിസ്മസ്, പുതുവത്സര ആഘോഷങ്ങള് മദ്യവിമുക്തമാക്കണംമാനന്തവാടി: ക്രിസ്മസ്, പുതുവത്സര ആഘോഷങ്ങള് മദ്യവിമുക്... ക്രിസ്തുമസ്-പുതുവത്സരാഘോഷം: വ്യാജമദ്യ ഉല്പ്പാദനം തടയുന്നതിന് കണ്ട്രോള് റൂംകല്പ്പറ്റ: ക്രിസ്തുമസ്-പുതുവത്സര ആഘോഷത്തോടനുബന്ധിച്ച്... സ്റ്റേഡിയം ഉദ്ഘാടനം: റോഡ്ഷോ നടത്തികല്പ്പറ്റ: ഈ മാസം 17-ാം തീയതി ഉദ്ഘാടനം ചെയ്യപ്പെടുന്ന കൃഷ്...
'''
#打印stripIt(testhtml,'li')
如何修复它?您可以从整个字符串中删除CDATA,如下所示:
from bs4 import CData
soup = BeautifulSoup.BeautifulSoup(testhtml)
for cd in soup.findAll(text=True):
if isinstance(cd, CData):
cd.replaceWith('')
此代码使用正则表达式查找[CDATA[-并可自定义以删除任何要删除的字符串
import re
string = '<!--//--><![CDATA[//><!--jQuery.extend(Drupal.settings, { "basePath": "/", "fivestar": { "titleUser": "Your rating: ", "titleAverage": "Average: ", "feedbackSavingVote": "Saving your vote...", "feedbackVoteSaved": "Your vote has been saved.", "feedbackDeletingVote": "Deleting your vote...", "feedbackVoteDeleted": "Your vote has been deleted." }, "disqus": { "url": "http://beta.mangalam.com/wayanad/139068", "title": "???????? ???????????? ?????????????? ??????????? ??????", "identifier": "node/139068", "shortname": "mangalam" } });//--><!]]>'
first = re.search('\[CDATA\[', string)
string = string[:first.span()[0]]+string[first.span()[1]:]
重新导入
字符串=“”
first=re.search(“\[CDATA\[”,字符串)
string=string[:first.span()[0]]+string[first.span()[1]:]
如果要删除[CDATA[(或任何其他字符串)的多个版本,则可以使用
import re
string = '<!--//--><![CDATA[//><!--jQuery.extend(Drupal.settings, { "basePath": "/", "fivestar": { "titleUser": "Your rating: ", "titleAverage": "Average: ", "feedbackSavingVote": "Saving your vote...", "feedbackVoteSaved": "Your vote has been saved.", "feedbackDeletingVote": "Deleting your vote...", "feedbackVoteDeleted": "Your vote has been deleted." }, "disqus": { "url": "http://beta.mangalam.com/wayanad/139068", "title": "???????? ???????????? ?????????????? ??????????? ??????", "identifier": "node/139068", "shortname": "mangalam" } });//--><!]]>, [CDATA['
first = re.finditer('\[CDATA\[', string)
for element in first:
print element.span()
string = string[:element.span()[0]]+string[element.span()[1]:]
print string