Article View: pl.comp.lang.python
Article #28657Osadzanie obrazków w Html za pomocą Pythona - jedna wersja działa inna nie - dlaczego?!?
From: Szyk Cech
Date: Thu, 04 Apr 2019 13:29
Date: Thu, 04 Apr 2019 13:29
43 lines
2549 bytes
2549 bytes
Witam
Podam pełną wersję mojej funkcji do osadzania całego obrazka w kodzie
html. Skrypt wykrywa normalny odnośnik do obrazka i go wymienia na ciało
kodowane w Base64. Oto kod:
def gEmbedImages(aPage):
lResult = aPage
lRe =
re.compile(r"""<img\s+src\s*=\s*\"(.+?)"\s+alt\s*=\s*"(.+?)"/>""",
re.IGNORECASE)
lMatch = lRe.search(aPage)
while lMatch:
if not os.path.isfile(lMatch.group(1)):
raise Exception("File not found! File:
{0}".format(lMatch.group(1)))
f = open(lMatch.group(1), 'rb')
#lBase64 = """<img alt="{1}"
src=”data:image/png;base64,{0}"/>""".format(base64.b64encode(f.read()).decode('ascii').replace('\n',
''), lMatch.group(2))
lBase64 = """<img alt="%s" src="data:image/png;base64,%s"/>""" %
(lMatch.group(2),
base64.b64encode(f.read()).decode('ascii').replace('\n', ''))
lResult = lResult.replace(lMatch.group(0), lBase64)
lMatch = lRe.search(aPage, lMatch.end())
return lResult
Moje pytanie jest takie:
Dlaczego linia:
#lBase64 = """<img alt="{1}"
src=”data:image/png;base64,{0}"/>""".format(base64.b64encode(f.read()).decode('ascii').replace('\n',
''), lMatch.group(2))
nie działa (błędnie koduje)?
A linia:
lBase64 = """<img alt="%s" src="data:image/png;base64,%s"/>""" %
(lMatch.group(2),
base64.b64encode(f.read()).decode('ascii').replace('\n', ''))
działa bez zarzutu?!?
dzięki i pozdro
Szyk Cech
Technical Details
Message-ID:
<7FnpE.2$wd2.0@fx24.fr7>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.unit0.net!3.eu.feeder.erje.net!feeder.erje.net!feeder2.ecngs.de!ecngs!feeder.ecngs.de!81.171.118.64.MISMATCH!peer04.fr7!futter-mich.highwinds-media.com!news.highwinds-media.com!fx24.fr7.POSTED!not-for-mailShow Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.unit0.net!3.eu.feeder.erje.net!feeder.erje.net!feeder2.ecngs.de!ecngs!feeder.ecngs.de!81.171.118.64.MISMATCH!peer04.fr7!futter-mich.highwinds-media.com!news.highwinds-media.com!fx24.fr7.POSTED!not-for-mail Newsgroups: pl.comp.lang.python X-Mozilla-News-Host: snews://newshosting.com:563 From: Szyk Cech <szykcech@spoko.pl> Subject: Osadzanie obrazków w Html za pomocą Pythona - jedna wersja działa inna nie - dlaczego?!? User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.6.1 MIME-Version: 1.0 Lines: 43 Message-ID: <7FnpE.2$wd2.0@fx24.fr7> X-Complaints-To: abuse(at)newshosting.com NNTP-Posting-Date: Thu, 04 Apr 2019 13:29:39 UTC Organization: Newshosting.com - Highest quality at a great price! www.newshosting.com Date: Thu, 4 Apr 2019 15:29:38 +0200 X-Received-Bytes: 2289 X-Received-Body-CRC: 2710044818 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit