2015-06-18 66 views
1

假設我有以下兩行:在python轉換的HTML頁面,以二進制格式

c=urllib2.urlopen(myUrl) 
html=c.read() 

我是很新的Python和正在尋找一種方式來改變存儲在html的HTML代碼的二進制所以我可以輕鬆地存儲在我的MongoDB中,而不用擔心我下載的網頁的編碼。

對此提出建議?

回答

3

pymongo驅動程序已經具有將二進制字符串導入的方法。這個例子如下:

import pymongo 
import bson.binary 

from pymonngo import MongoClient 
from bson.binary import Binary 

client = MongoClient() 
db = client.test 

db.btest.insert({ "bindata": Binary("Hello",0) }) 

db.btest.find_one() 

它給你:

{u'_id': ObjectId('5582b33c268e1505371a5477'), u'bindata': Binary('Hello', 0)} 

還是從mongo外殼:

> db.btest.findOne() 
{ 
    "_id" : ObjectId("5582b33c268e1505371a5477"), 
    "bindata" : BinData(0,"SGVsbG8=") 
} 

所以你的字符串被編碼到BSON二進制類型現在在你的文件。

請注意,它總是編碼字節,而不是原始的,因爲這是BSON規範如何做。

+0

這很完美。謝謝! – user2980055

相關問題