Ich habe diesesWie kann ich den Inhalt innerhalb eines Anführungszeichens in meiner Zeichenfolge löschen?
<a href="http://helloword.com"><img src="hola.png" alt="hola"></a>
und ich brauche
<a href=""><img src="" alt= ""></a>
Ich habe diesesWie kann ich den Inhalt innerhalb eines Anführungszeichens in meiner Zeichenfolge löschen?
<a href="http://helloword.com"><img src="hola.png" alt="hola"></a>
und ich brauche
<a href=""><img src="" alt= ""></a>
versuchen Sie es mit regulären Ausdrücken und gab mir nicht das erwartete Ergebnis. Was ich letztendlich gelöst habe, war dieser Code. Ich bin wirklich flexibler und dynamischer. auch lassen sich die Ergebnisse in neue HTML-Dateien
import random
import os
import subprocess
from lxml import html
from lxml.html.clean import clean_html
from lxml.html import tostring, html5parser
import glob
from lxml import html
#print glob.glob("*.html")
for itemfile in glob.glob("*.html"):
if os.path.isfile(itemfile):
f = open(itemfile, 'rb')
data = f.read()
f.close()
dochtml = html.fromstring(data)
for element, attribute, link, pos in dochtml.iterlinks():
if element.tag in ("img","a"):
if attribute == "src":
element.set('src', "")
element.set('alt', "")
if attribute == "href":
element.set('href', "")
#print tostring(dochtml)
parser = tostring(dochtml, method='html')
f = open(itemfile[:itemfile.find(".html")] + "_parser.html", 'wb')
f.write(parser)
f.close()
else:
print 'not file.'
ich das unten stehende Programm ausprobiert und es funktioniert gut für Ihre Eingabe. Schau es dir einfach an.
import re
s='<a href="http://helloword.com"><img src="hola.png" alt="hola"></a>'
r=re.sub('".*?"','""',s)
print r
Es ausdrucken:
<a href=""><img src="" alt=""></a>
Die Idee ist, dass ich jeden Inhalt löschen kann, der sich in diesen Tags befindet. könnte auch mehrere Links oder Tags sein. –
Sag mir deine Anforderung klar. Sie sagen, meine Lösung funktioniert nicht für Sie? Wenn ja, sag mir wie –
Meine Absicht ist nicht für mich zu arbeiten, aber ich verstehe Ihren Standpunkt. Ich weiß es zu schätzen, dass Sie mir eine Idee gegeben haben, ich werde versuchen, das Skript mit regulären Ausdrücken zu machen. Grüße –
Es ist so einfach, mit BeautifulSoup zu retten ... Ich weiß nicht, warum Sie so viel Code verwenden. Dadurch wird der Inhalt dieser href-, alt- und src-Tags durch eine leere Zeichenfolge ersetzt.
Ich werde diese verwenden, anstatt lxml ...
from bs4 import BeautifulSoup
soup = BeautifulSoup('<a href="http://helloword.com"><img src="hola.png" alt="hola"></a>', 'html.parser')
href = soup.find('a').attrs.get('href')
alt = soup.find('img').attrs.get('alt')
src= soup.find('img').attrs.get('src')
text = str(soup).replace(href, '').replace(src,'').replace(alt,'')
print text
Ich denke, es ist nicht viel Code, wenn Sie in einen Ordner alle HTML-Dateien bekommen wollen, analysieren und neue HTML-Dateien mit dem Ergebnis hinzufügen. In dem Code, den Sie vorschlagen, muss ich HTML-Code kopieren und einfügen und das Ergebnis von der Konsole erhalten, aber trotzdem ist eine andere ausgezeichnete Wahl und ich danke Ihnen für den Beitrag. –
Es ist mein Beispiel ... wenn Sie Anfragen ... oder urllib verwenden, müssen Sie den Code nicht per Konsole bekommen :) nur: source_code = requests.get (my_url) .content – simopopov
Haben Sie wirklich 'href:'? –
was hast du bisher probiert? Es sieht so aus, dass Sie mit folgenden Worten nach Ihrer Antwort suchen müssen: "Wie lösche ich Text in Anführungszeichen, String python" –