Как обрабатывать двоичные данные в commoncrawl с помощью python

Мне нужно проанализировать commoncrawl. Для этого я использую Python 2.7. Я наблюдал некоторые файлы warc, в файлах warc.gz есть некоторые двоичные данные. Мне нужно разобрать исходный код html, используя bs4. Но как я могу определить, что это текстовые данные, а это двоичные данные. Например, есть URL-адрес, содержащий двоичные данные. http://aa-download.avg.com/filedir/inst/avg_free_x86_all_2015_5315a8160.exe

Как я могу пропустить двоичные данные и получить только текстовые данные обработки в python?


person Hafiz Muhammad Shafiq    schedule 13.01.2017    source источник


Ответы (1)


Вы можете использовать python-magic для идентификации вещей.

In [1]: import magic

In [2]: magic.from_file('places.sqlite')
Out[2]: b'SQLite 3.x database, user version 33, last written using SQLite version 3015001'

In [3]: magic.from_file('installed-port-list.txt')
Out[3]: b'ASCII text'

In [4]: magic.from_file('quotes.gz')
Out[4]: b'gzip compressed data, was "quotes", last modified: Tue Dec  6 20:35:44 2016, from Unix'

Обратите внимание, что хотя в этих примерах используется функция from_file, в python-magic также есть функция from_buffer.

person Roland Smith    schedule 13.01.2017