1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/wangsihong-spiderkit

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

spiderkit

Шаги компиляции:

Установка зависимостей

  CentOS:
  sudo yum -y install gcc gcc-c++ make flex bison gperf ruby \
        openssl-devel freetype-devel fontconfig-devel libicu-devel sqlite-devel \
          libpng-devel libjpeg-devel
  sudo yum install git
  sudo yum install automake autoconf autogen libtool
  Скачайте и установите Maven самостоятельно
  
  Ubuntu:
  sudo apt-get install build-essential g++ flex bison gperf ruby perl \
        libsqlite3-dev libfontconfig1-dev libicu-dev libfreetype6 libssl-dev \
          libpng-dev libjpeg-dev
  sudo apt-get install git
  sudo apt-get install automake autoconf autogen libtool
  sudo apt-get install maven

Клонирование spiderkit

  git clone https://git.oschina.net/wangsihong/spiderkit.git

Компиляция

  Перейти в директорию spiderkit/script
  cd spiderkit/script
  ./compile.sh

Запуск spiderkit

  Для запуска кластера spiderkit сначала следует запустить кластер ZooKeeper
  Измените spiderkit.conf, шаблон находится в папке script, скопируйте его в корневую директорию проекта
  Конфигурационный файл:
     "StaticCoreCount": количество запущенных статических ядер (статическое ядро — это ядро, где отключен парсер JavaScript)
     "DynamicCoreCount": количество запущенных динамических ядер
     "GroupName": имя группы (клиентская заявка требует указания группы, группа может использоваться для представления сетевой среды, центра обработки данных или распределения запросов и т. д.)
     "IsDebug": запуск в режиме отладки, вывод логов в режиме отладки
     "ZookeeperHost": хост кластера ZooKeeper         "ExitWorkCount"    : количество страниц, после которых ядра запросят перезапуск. Это решение проблемы утечки памяти qWebKit.
      "DefaultSocketPort": порт сервера, по умолчанию 21225
      "enableProxy"      : использование прокси
      "proxyType"        : тип прокси
      "proxyAuthUser"    : имя пользователя
      "proxyAuthPass"    : пароль
      "proxyHost"        : IP-адрес прокси
      "proxyPort"        : порт прокси
      "enableProxyPool"  : false/true, кластеры могут использовать пулы прокси через ZooKeeper
      "enableProxyPath"  : узел, содержащий информацию о пуле прокси в ZooKeeper
    Выполнение команды запуска:
      . /spiderkit-start.sh
   Команда остановки:
      . /spiderkit-stop.sh

Python клиент

   CentOS:
      sudo yum install python-devel
  Ubuntu:
      sudo apt-get install python-dev
   Установка easy_install:

Установка pyzmq

sudo easy_install pyzmq
```Установка protobuf python  
1. Войти в каталог `src/third`  
2. Распаковать и установить `python-gflags-2.0.tar.gz` и `google-apputils-0.4.0.tar.gz`
3. Перейти в каталог `script/source/protobuf/python/` и установить protobuf python  
```bash
sudo python setup.py install

Установка zookeeper python
Скачайте пакет zookeeper python с этого адреса

Установка spiderkit python

  1. Войти в каталог src/python-client
  2. Установите spiderkit python
sudo python setup.py install

Пример использования python-клиента для отображения страницы байда

gconfig = caller.GlobalConfig()
gconfig.init("10.55.222.103:2181")
wk = webkit.WebKit("test")
page = wk.getWebPage("http://www.baidu.com/", 30000, 40000)
if page is None: # get page failed
    wk.release()
    exit(0)
print(page.getTitle())
page.destroy()
wk.release()

Java клиент

Код java-клиента находится в директории spiderkit/src/java/src/skit-client. Maven зависимость:

<dependency>
    <groupId>com.gome</groupId>
    <artifactId>skit-client</artifactId>
    <version>0.0.1</version>
</dependency>

Пример использования java-клиента для отображения страницы байда

String zkhost = "10.55.222.103:2181";
GlobalConfig config = GlobalConfig.getInstance();
config.connect(zkhost);
WebKit webkit = new WebKit("test");
WebPage page = webkit.get("http://www.baidu.com/");
if (page == null) { // get page failed
    webkit.release();
    return;
}
System.out.println(page.getTitle());
page.destory();
webkit.release();

Spiderkit-Schedule — фреймворк для создания пауков

Spiderkit Schedule представляет собой плагинный фреймворк для создания пауков. Плагины создаются путём наследования классов из модуля spider-plugin, что позволяет реализовать функционал для извлечения ссылок и данных.Исходный код:

  • spiderkit/src/java/src/spider-schedule: spiderkit-schedule
  • spiderkit/src/java/src/spider-plugin: spider-plugin

Maven зависимость для spider-plugin:

<dependency>
    <groupId>com.gome</groupId>
    <artifactId>spider-plugin</artifactId>
    <version>0.0.1</version>
</dependency>

Запуск: ./app-start.sh Контрольная панель: http://ваш_IP:8089/spiderkit/

FlowCrawl плагин для веб-скрапинга

FlowCrawl — это встроенный плагин для веб-скрапинга в spiderkit schedule. Через веб-интерфейс spiderkit schedule можно конфигурировать вертикальный скрейпер для сайта, который выполняет последовательный парсинг, сохраняет отрендеренные страницы вместе с информацией о связях между ними.

С помощью настройки XPath или написания JavaScript-скриптов можно извлекать необходимую информацию.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

На основе модифицированного webkit-анализатора из phantomjs реализована возможность удалённого вызова с предоставлением интерфейсов для Java, C++ и Python. Развернуть Свернуть
BSD-3-Clause
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/wangsihong-spiderkit.git
git@api.gitlife.ru:oschina-mirror/wangsihong-spiderkit.git
oschina-mirror
wangsihong-spiderkit
wangsihong-spiderkit
master