使用Python腳本將絕對url替換為相對url的教程
公司一個項目需要上傳圖片,一開始同事將圖片上傳后結(jié)合當(dāng)前主機拼成了一個絕對的URL(http://192.168.1.1:888/m/getimg?filename=xxx.jpg由于同時給手機終端提供接口,在手機終端會引起一些bug,改完代碼后要求將以前的uri替換成相對的URL(/m/getimg?filename=xxx.jpg),由于圖片是用img標(biāo)簽嵌入到內(nèi)容同時用a標(biāo)簽括起顯示大圖的,所以需要讀取數(shù)據(jù)庫并對內(nèi)容進行替換,
腳本內(nèi)容如下:
#!/usr/bin/env python #-*- coding:utf-8 -*- # # # author : cold night # email : wh_linux@126.com # import pymongo import re from StringIO import StringIO conn = pymongo.Connection() db = conn.test def replace_url(): regex = re.compile(r'([href|src])=["|\']http://.*?(/m/getimg\?.*?)["|\']') results = db['test'].find() db_coll = db['test'] def replace(r): content = r.get('content') if not content: return content = StringIO(content) content.seek(0) result = StringIO() for line in content.readlines(): t = regex.sub(r'\1="\2"', line) result.write(t) result.seek(0) content = result.read() if content: r['content'] = content _id = r.get('_id') db_coll.update({'_id':_id}, r) results = [replace(i) for i in results] if __name__=="__main__":replace_url()
相關(guān)文章
python引入requests報錯could?not?be?resolved解決方案
這篇文章主要為大家介紹了python引入requests報錯could?not?be?resolved解決方案,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-05-05Python關(guān)于抽獎系統(tǒng)的思考與設(shè)計思路
這篇文章主要介紹了Python關(guān)于抽獎系統(tǒng)的思考與設(shè)計思路,本文通過一些簡單的例子來說一說抽獎系統(tǒng)背后的邏輯,看看究竟是你運氣不好還是系統(tǒng)邏輯在作怪,需要的朋友可以參考下2023-03-03python點云地面點濾波(Progressive Morphological Filter)算法介紹(PCL庫)
這篇文章主要介紹了python點云地面點濾波(Progressive Morphological Filter)算法介紹(PCL庫),了解膨脹/腐蝕這兩個基礎(chǔ)操作,可以通過對其進行簡單組合來形成開/閉操作,需要的朋友可以參考下2021-08-08超簡單的scrapy實現(xiàn)ip動態(tài)代理與更換ip的方法實現(xiàn)
這篇文章主要介紹了超簡單的scrapy實現(xiàn)ip動態(tài)代理與更換ip的方法實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03Python中schedule模塊關(guān)于定時任務(wù)使用方法
這篇文章主要介紹了Python中schedule模塊關(guān)于定時任務(wù)使用方法,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下2022-05-05python學(xué)生管理系統(tǒng)代碼實現(xiàn)
這篇文章主要為大家詳細介紹了python學(xué)生管理系統(tǒng)代碼實現(xiàn),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-03-03