Недавняя работа сканера разные разговоры

Java задняя часть рептилия JavaScript
Недавняя работа сканера разные разговоры

предисловие

В последнее время я занимаюсь вещами, связанными с пониманием и обработкой естественного языка, в основном для нужд извлечения информации.Поскольку нет хорошего общедоступного набора данных для обучения и тестирования, я могу сначала перейти на авторитетную платформу для сканирования и сбора данных. , так что это включает Вот идет рептилия.

О языке

На каком языке пишут рептилии? Поскольку большие языки, с которыми я знаком и обычно использую, — это java, c++ и python. Поэтому написание краулеров на этих трех языках на самом деле может быть написано очень быстро. Раньше для написания краулеров в основном использовалась Java. Сейчас я чувствую, что по-прежнему очень эффективно использовать python в небольших проектах, требующих быстрой реализации. В общем, у Python много инструментов, и это очень выразительный язык. И если вы цените производительность, вы можете использовать C++, а в крупномасштабных проектах уровня предприятия можно использовать Java для масштабируемости и обслуживания. Кроме того, более крупные проекты также должны всесторонне учитывать распределенные кластеры.

SCRAPY решает нормальный спрос

Фреймворк Scrapy обычно используется в python для реализации сканера, его легко начать черезscrapy startproject mySpiderСоздайте структуру проекта следующим образом:

D:\>scrapy startproject mySpider
New Scrapy project 'mySpider', using template directory ..
You can start your first spider with:
    cd mySpider
    scrapy genspider example example.com

这里写图片描述

Потом пиши как надо

  1. items.pyопределить поля в
  2. spidersНаписать сканер в каталоге
  3. pipelines.pyХранение данных
  4. другие требования

Вышеупомянутое выполняется непосредственноscrapy crawl my_spiderПросто начните восхождение.

Что делать при встрече с js

В настоящее время многим веб-сайтам необходимо выполнять сегменты логики js. Во многих случаях их невозможно просканировать без выполнения логики js. Например, некоторые используют js для генерации ключей доступа и т. д. В настоящее время существует три решения:

  1. Жесткий перевод заключается в том, чтобы поглотить исходный код js, понять логику, а затем перевести его на язык поискового робота, чтобы реализовать его снова.
  2. Используя библиотеку движка выполнения js, многие языки имеют библиотеку движка js, затем передают логику js библиотеке, чтобы реализовать, сэкономить работу логики js, эффект очень идеален. Этот метод эффективен, но иногда для доступа к некоторым веб-сайтам требуется много параметров, и получить их очень проблематично, и этот метод является дорогостоящим.
  3. Метод настройки браузера на самом деле представляет собой полную симуляцию ручного управления.. Необходимо открыть браузер, а затем автоматически управлять различными элементами на странице с помощью сценария, чтобы реализовать сбор данных, например, позволяя ему автоматически поворачивать страницы, автоматическая загрузка и так далее. Этот метод заведомо неэффективен, но в принципе не требует изучения различных параметров сам по себе, а стоимость внедрения невелика. Такие средства, как селен.

резюме

С точки зрения языка, с точки зрения реализации, у разных людей может быть разный выбор в соответствии с различными инженерными потребностями и сценариями.Все это требует, чтобы мы думали сами, а затем выбирали решение, подходящее для проекта. Никогда не уподобляйтесь гвоздю там, где у вас в руке молоток.

------------- Рекомендуем прочитать ------------

Резюме моей статьи за 2017 год — машинное обучение

Краткое изложение моих статей за 2017 год — Java и промежуточное ПО

Резюме моих статей 2017 года — глубокое обучение

Краткое изложение моих статей за 2017 год — исходный код JDK

Резюме моей статьи за 2017 год — обработка естественного языка

Резюме моих статей 2017 года — Java Concurrency

------------------рекламное время----------------

Меню официальной учетной записи было разделено на «распределенное», «машинное обучение», «глубокое обучение», «НЛП», «глубина Java», «ядро параллелизма Java», «исходный код JDK», «ядро Tomcat», и т.д. Там может быть один стиль, чтобы удовлетворить ваш аппетит.

Моя новая книга «Анализ проектирования ядра Tomcat» продана на Jingdong, и нуждающиеся друзья могут ее купить. Спасибо друзья.

Зачем писать «Анализ проектирования ядра Tomcat»

Добро пожаловать, чтобы следовать:

这里写图片描述