Python實(shí)現(xiàn)將絕對(duì)URL替換成相對(duì)URL的方法
本文實(shí)例講述了Python實(shí)現(xiàn)將絕對(duì)URL替換成相對(duì)URL的方法。分享給大家供大家參考。具體分析如下:
一、問(wèn)題:
公司一個(gè)項(xiàng)目需要上傳圖片,一開(kāi)始同事將圖片上傳后結(jié)合當(dāng)前主機(jī)拼成了一個(gè)絕對(duì)的URL(http://192.168.1.1:888/m/getimg?filename=xxx.jpg)由于同時(shí)給手機(jī)終端提供接口,在手機(jī)終端會(huì)引起一些bug,改完代碼后要求將以前的uri替換成相對(duì)的URL(/m/getimg?filename=xxx.jpg),由于圖片是用img標(biāo)簽嵌入到內(nèi)容同時(shí)用a標(biāo)簽括起顯示大圖的,所以需要讀取數(shù)據(jù)庫(kù)并對(duì)內(nèi)容進(jìn)行替換
二、解決方法:
#!/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()
希望本文所述對(duì)大家的Python程序設(shè)計(jì)有所幫助。
相關(guān)文章
Pytorch: 自定義網(wǎng)絡(luò)層實(shí)例
今天小編就為大家分享一篇Pytorch: 自定義網(wǎng)絡(luò)層實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-01-01Python MySQL數(shù)據(jù)庫(kù)基本操作及項(xiàng)目示例詳解
這篇文章主要介紹了Python連接MySQL數(shù)據(jù)庫(kù)后的一些基本操作,并以銀行管理系統(tǒng)項(xiàng)目為例,為大家具體介紹了一下部分功能的實(shí)現(xiàn),文中的示例代碼具有一定的學(xué)習(xí)價(jià)值,感興趣的可以了解一下2021-12-12python編寫學(xué)生成績(jī)管理系統(tǒng)的邏輯結(jié)構(gòu)及功能實(shí)現(xiàn)
這篇文章主要為大家介紹了python編寫學(xué)生成績(jī)管理系統(tǒng)實(shí)現(xiàn)八個(gè)功能示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-04-04一步步教你用python給女朋友寫個(gè)微信自動(dòng)提醒的程序
如今微信已成為我們?nèi)粘I畹闹饕涣鞴ぞ?但是微信自身的功能有時(shí)候可能并不能滿足我們的需要,因此我們會(huì)想是否可以進(jìn)行微信功能的拓展呢,這篇文章主要給大家介紹了關(guān)于利用python給女朋友寫了個(gè)微信自動(dòng)提醒程序的相關(guān)資料,需要的朋友可以參考下2021-10-10Python爬蟲突破反爬蟲機(jī)制知識(shí)點(diǎn)總結(jié)
在本篇文章里小編給大家整理了一篇關(guān)于Python爬蟲突破反爬蟲機(jī)制知識(shí)點(diǎn)總結(jié)內(nèi)容,有需要的朋友們可以跟著學(xué)習(xí)下。2021-11-11