2015-04-16 15 views
5

Vì vậy, những gì tôi đang cố gắng làm là chuyển đổi một HEADER yêu cầu loại nội dung thành một phần mở rộng tệp. Các kiểu nội dung điển hình là như thế này cho các trang html "text/html; charset = utf-8" đó là câu trả lời đã cho từ python. Tôi đã xem xét sử dụng mô-đun mimetype không thành công vì nó không giống như nó chứa đựng những gì tôi đang tìm kiếm.Chuyển đổi tiêu đề Content-Type thành phần mở rộng tệp

Rundown:

Tôi muốn chuyển đổi "text/html; charset = utf-8" vào đây ".html"

Những hình ảnh tiêu biểu content-type là "image/jpeg" tùy thuộc vào loại hình ảnh, nhưng tôi không quá lo lắng về hình ảnh, cho rằng hầu hết các url chỉ định hình ảnh trong đường dẫn. Điều này dành cho các trang web không kết thúc bằng "blahahah.html"

Tôi không muốn sử dụng bất kỳ thư viện nào không nằm trong thư viện python cơ sở.

Trả lời

8

Bạn có thể chia và rstrip:

r = requests.get("http://stackoverflow.com/questions/29674905/convert-content-type-header-into-file-extension") 

from mimetypes import guess_extension 

print(guess_extension(r.headers['content-type'].split()[0].rstrip(";"))) 
.html 
+1

Cảm ơn, bạn là một vị thần. Tôi không thể cho cuộc sống của tôi làm việc như thế nào đoán_extension làm việc. – Shifty

+0

@Shiftym không phải lo lắng, 'guess_extension (r.headers ['content-type'])' một mình sẽ làm việc cho các trang web nhất định nhưng tách nên bao gồm nhiều cơ sở hơn –

+0

Lạ kỳ lạ - Phần mở rộng tệp đang thay đổi giữa ".htm" và ". html "trên cùng một trang web – Shifty

Các vấn đề liên quan