程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 更多關於編程 >> Python實現將絕對URL替換成相對URL的方法

Python實現將絕對URL替換成相對URL的方法

編輯:更多關於編程

       本文實例講述了Python實現將絕對URL替換成相對URL的方法。分享給大家供大家參考。具體分析如下:

      一、問題:

      公司一個項目需要上傳圖片,一開始同事將圖片上傳後結合當前主機拼成了一個絕對的URL(http://192.168.1.1:888/m/getimg?filename=xxx.jpg)由於同時給手機終端提供接口,在手機終端會引起一些bug,改完代碼後要求將以前的uri替換成相對的URL(/m/getimg?filename=xxx.jpg),由於圖片是用img標簽嵌入到內容同時用a標簽括起顯示大圖的,所以需要讀取數據庫並對內容進行替換

      二、解決方法:

      ?

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 #!/usr/bin/env python #-*- coding:utf-8 -*- # # # author : cold night # email : [email protected] # 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()

      希望本文所述對大家的Python程序設計有所幫助。

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved