1
urlに基づいてファイルにhtmlを保存します。ユニークなファイル名を短くするURLをエンコードする
私はuuidを使用しています。
>>> url = "https://www.google.co.in/?gfe_rd=cr&ei=-koUWPf4HqzT8ge2g6HoBg&gws_rd=ssl"
>>> uuidstring = str(uuid.uuid5(uuid.NAMESPACE_DNS, url))
しかし、私はさらに名前を短縮したいと思います。文字列を一意の小さな文字列に短縮する方法はありますか?
私はbase64を試しましたが、わかりませんでした。
>>> uuid.UUID(uuidstring).bytes.encode('base64').rstrip('=\n').replace('/', '_')
>>> AttributeError: 'bytes' object has no attribute 'encode'
リンク質問:Convert UUID 32-character hex string into a "YouTube-style" short id and back
は '.replace( '/'、 '_')'必要があります?。 base64に変換してuuidstringを実行している間に '/'が存在しますか? – Rahul
例えば 'base64.encodebytes(b" ??? ")で'/'を得ることができます。削除する必要のある別の文字があります: '+'。あなたの文字列 'a6f100f6-a39d-5fc0-8e63-225ff3383344'では、あなたが正しいとは思えません。なぜなら、あなたは1ビット以下のものをたくさん必要とするからです。ありがとう。 –
ありがとう。大規模なデータセットを確認し、それに応じて更新します。 – Rahul