這通常是沒有硬性任務,但今天我似乎無法除去簡單的JavaScript代碼..Python的 - 刪除HTML標籤用正則表達式
我的工作的例子(格式化):
<section class="realestate oca"></section>
<script type="text/javascript" data-type="ad">
window.addEventListener('DOMContentLoaded', function(){
window.postscribe && postscribe(document.querySelector(".realestate"),
'<script src="https://ocacache-front.schibsted.tech/public/dist/oca-loader/js/ocaloader.js?type=re&w=100%&h=300"><\/script>');
});
</script>
我與(生)工作的例子
<section class="realestate oca"></section>\n<script type="text/javascript" data-type="ad">\n\twindow.addEventListener(\'DOMContentLoaded\', function(){\n\t\twindow.postscribe && postscribe(document.querySelector(".realestate"),\n\t\t\'<script src="https://ocacache-front.schibsted.tech/public/dist/oca-loader/js/ocaloader.js?type=re&w=100%&h=300"><\\/script>\');\n\t});\n</script>
我想從去除一切(第二行開頭)至</script>
(最後一行)。這將只輸出第一行,<section..>
。
這裏是我的代碼行:
re.sub(r'<script[^</script>]+</script>', '', text)
#or
re.sub(r'<script.+?</script>', '', text)
我清楚地失去了一些東西,但我什麼也看不見。
注意:我正在處理的文檔主要包含純文本,因此不需要使用lxml或類似語法進行解析。
你應該知道這個'[^]'不意味着除了關閉腳本標記任何東西。 – revo
@glibdud我同意,我只是想標記它。 http://meta.stackoverflow.com/q/343643/1561176 –
我認爲你應該看看這個答案使用正則表達式來解析「HTML」http://stackoverflow.com/a/1732454/1561176。相反,你應該使用正確的解析器,比如BeautifulSoup。 https://www.crummy.com/software/BeautifulSoup/ –