Я начал изучать python последние пару дней. Я хочу знать эквивалентный способ написания сканеров в python.
поэтому в ruby я использую:
nokogiri
для обхода html и получения контента с помощью тегов cssNet::HTTP
и Net::HTTP::Get.new(uri.request_uri).body
для получения данных JSON из URLкаковы их эквиваленты в python?
Ну
В основном вам нужно отделить "scraper" /искатель от lib/program/function python, который будет загружать файлы/данные с веб-сервера и анализатора, который будет считывать эти данные и интерпретировать данные. В моем случае мне пришлось отказаться и получить некоторую информацию о говте, которая является "открытой", но не загружаемой/дружественной к данным. Для этого проекта я использовал scrapy [1].
В основном я устанавливаю "starter_urls", которые являются URL-адресами моего робота, которые будут обходить/получать и после использования функции "парсер" для извлечения/анализа этих данных.
Для синтаксического анализа/извлечения вам понадобится вытяжка html, lxml, так как 90% ваших данных будут такими.
Теперь сосредоточимся на вашем вопросе:
Для обхода данных
Для анализа данных
И, пожалуйста, помните, что "обход" и отказ не только для Интернета, электронной почты тоже. вы можете проверить еще один вопрос об этом здесь [6]
[1] = http://scrapy.org/
[2] - http://docs.python-requests.org/en/latest/
[3] - http://docs.python.org/library/urllib.html
[4] - http://lxml.de/
[5] - http://www.crummy.com/software/BeautifulSoup/
[6] - Python прочитал мой почтовый ящик почтового ящика Outlook и разобрал сообщения
Фактически реальный HTML-парсер в Python красивый суп. Библиотека Python requests популярна в наши дни для HTTP (хотя стандартная библиотека имеет аналогичную функциональность, но с довольно громоздким API).
Ломковые и сборщики - это настоящие сканеры реального мира, которые были изготовлены на заказ только с целью сканирования.
Я также использую Beautiful Soup, это очень простой способ разбора HTML. Когда я просматривал некоторые веб-страницы, я также использовал XML-интерфейс ElementTree. Лично мне очень нравится библиотека ElementTree (ее легко разобрать XML).