Переход от Ruby к Python: сканеры

1

Я начал изучать python последние пару дней. Я хочу знать эквивалентный способ написания сканеров в python.

поэтому в ruby ​​я использую:

  • nokogiri для обхода html и получения контента с помощью тегов css
  • Net::HTTP и Net::HTTP::Get.new(uri.request_uri).body для получения данных JSON из URL

каковы их эквиваленты в python?

  • 0
    Взгляните на проект Scrapy.
  • 0
    @zsquare - Scrapy - интересный проект, но, к сожалению, этот вопрос не решается.
Показать ещё 1 комментарий
Теги:
web-crawler

4 ответа

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

Ну

В основном вам нужно отделить "scraper" /искатель от lib/program/function python, который будет загружать файлы/данные с веб-сервера и анализатора, который будет считывать эти данные и интерпретировать данные. В моем случае мне пришлось отказаться и получить некоторую информацию о говте, которая является "открытой", но не загружаемой/дружественной к данным. Для этого проекта я использовал scrapy [1].

В основном я устанавливаю "starter_urls", которые являются URL-адресами моего робота, которые будут обходить/получать и после использования функции "парсер" для извлечения/анализа этих данных.

Для синтаксического анализа/извлечения вам понадобится вытяжка html, lxml, так как 90% ваших данных будут такими.

Теперь сосредоточимся на вашем вопросе:

Для обхода данных

  • Scrapy
  • Запросы [2]
  • Урлиб [3]

Для анализа данных

  • Scrapy/lxml или scrapy + other
  • LXML [4]
  • красивый суп [5]

И, пожалуйста, помните, что "обход" и отказ не только для Интернета, электронной почты тоже. вы можете проверить еще один вопрос об этом здесь [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 и разобрал сообщения

2

Фактически реальный HTML-парсер в Python красивый суп. Библиотека Python requests популярна в наши дни для HTTP (хотя стандартная библиотека имеет аналогичную функциональность, но с довольно громоздким API).

Ломковые и сборщики - это настоящие сканеры реального мира, которые были изготовлены на заказ только с целью сканирования.

2
  • Между lxml и красивым супом, lxml более эквивалентен nokogiri потому что он основан на libxml2 и имеет поддержку xpath/css.
  • Эквивалент net/http - urllib2
1

Я также использую Beautiful Soup, это очень простой способ разбора HTML. Когда я просматривал некоторые веб-страницы, я также использовал XML-интерфейс ElementTree. Лично мне очень нравится библиотека ElementTree (ее легко разобрать XML).

Ещё вопросы

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