Запрос веб-страниц без загрузки

0

У меня есть огромный список веб-страниц (около 1,8 миллиона) в файле. Я в основном хочу запросить каждую из этих веб-страниц для используемой в них кодировки символов. Я мог бы использовать wget, это будет загружать страницу, а затем я могу grep для charset = pattern, чтобы получить кодировку. Но я не хочу загружать ни одну из этих страниц, а просто запрашиваю кодировку. Как я могу это сделать? Пожалуйста, предложите мне другой инструмент, который достаточно быстр.

Теги:

1 ответ

0
Лучший ответ

Вы можете использовать библиотеку requests python, чтобы сделать это довольно легко.

Python 2.7.3 (default, Jan  2 2013, 13:56:14) 
[GCC 4.7.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import requests
>>> r = requests.head('http://www.google.com')
>>> r.encoding
'ISO-8859-1'

Обратите внимание на использование метода head vs get (последний загрузит всю страницу).

Вы также можете использовать флаг -I с curl для выдачи HEAD запроса и grep для строки "Content-Type":

jjensen@jjensen-dev:~$ curl -I www.google.com
HTTP/1.1 200 OK
Date: Sun, 16 Feb 2014 09:05:28 GMT
Expires: -1
Cache-Control: private, max-age=0
Content-Type: text/html; charset=ISO-8859-1
Set-Cookie: PREF=ID=081cb517341de334:FF=0:TM=1392541528:LM=1392541528:S=O2_rr0DFBFW5RtJS; expires=Tue, 16-Feb-2016 09:05:28 GMT; path=/; domain=.google.com
Set-Cookie: NID=67=Ouu0WjP7K0cdtuLZ1XTRdETnNTIRbf1DjfopTXoFAdC84DnrQ03OsABMx7QUFlRJ3pPrvkmO8-2nUmVfjjpEMLg-CNlh7wBLmuf5xrbJN-qmPVp7zhfS39q9xrjIOk8B; expires=Mon, 18-Aug-2014 09:05:28 GMT; path=/; domain=.google.com; HttpOnly
P3P: CP="This is not a P3P policy! See http://www.google.com/support/accounts/bin/answer.py?hl=en&answer=151657 for more info."
Server: gws
X-XSS-Protection: 1; mode=block
X-Frame-Options: SAMEORIGIN
Alternate-Protocol: 80:quic
Transfer-Encoding: chunked
  • 0
    Я пробовал это, но я получаю: >>> запросы на импорт Traceback (последний вызов был последним): файл "<stdin>", строка 1, в <module> ImportError: нет запросов с именами модулей
  • 0
    Вам нужно сначала установить библиотеку.
Показать ещё 10 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню