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

OSCHINA-MIRROR/inrgihc-libnpce

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

Компонент для извлечения основного текста из статей (NPCE)

Адрес проекта:

1. Компонент

1. Функции

News Passage Content Extractor (NPCE), компонент предназначен для извлечения основного текста HTML-статей.

С помощью компонента libnpce можно извлечь следующие поля информации со страниц новостей:

  • (1) Заголовок новости;
  • (2) Время публикации;
  • (3) Источник и URL-адрес;
  • (4) Основной текст;
  • (5) Информация об изображениях в основном тексте (включая расположение изображений в тексте);
  • (6) Другие данные, такие как текстовые ссылки в основном тексте.

2. Интеграция

Компонент предоставляет интерфейсы вызова для динамической библиотеки ссылок SO, RESTful-сервисов и вызовов Python:

  • (1) В каталоге python предоставляется оболочка для вызовов Python; см.: python/example/example.py.
  • (2) В каталоге server предоставляется оболочка для RESTfull-сервисов.
  • (3) Поддерживает распространённые приложения для чтения новостей.
  • (4) Для вызовов C/C++ через динамическую библиотеку ссылок см.: https://tangyibo.github.io/libariry/2020/01/17/a-news-passage-content-extractor-library/.

2. Структура

1. Структура программы

  \
   -include    заголовочные файлы
   -src        исходные файлы
   -test       примеры использования и тесты
   -cgifile    файлы для развёртывания CGI
   -parseapp   компоненты для обработки приложений
   -python     общий интерфейс для вызовов на Python
   -server     RESTful-сервисы
   -Makefile  
   -publish    опубликованная версия
   -readme.txt файл с описанием
   -bin        каталог с двоичными файлами
   -run.sh     скрипт для запуска тестов

2. Подготовка среды

(1) Установите чистую операционную систему CentOS 7.

(2) Установите GCC и C++ с помощью команды:

yum install -y gcc gcc-c++

(3) Установка зависимостей исходного кода:

  • Для преобразования C/C++-библиотеки в интерфейс Python необходимо установить Python-devel. Процесс установки следующий:
wget http://www.python.org/ftp/python/2.7.6/Python-2.7.6.tar.xz
tar xJf Python-2.7.6.tar.xz
cd Python-2.7.6
./configure --enable-shared --prefix=/usr/local/python2.7
make
make install 
  • Установите библиотеку libiconv:
wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.15.tar.gz
tar -zxvf libiconv-1.15.tar.gz
cd libiconv-1.15
./configure
make && make install

(4) Установите зависимости:

yum install -y epel-release openssl-devel zlib-devel zlib-devel c-ares-devel curl-devel python-pip

3. Сборка программы

git clone https://gitee.com/inrgihc/libnpce.git
cd libnpce/
make lib
make clean && make                 # сборка библиотеки libnpce
make clean all -C parseapp         # сборка библиотеки libparseapp
make clean all -C server        
make clean all -C python           # сборка библиотеки python golaxynpce
cd /root/libnpce/python/server/
pip install -r requirements.txt
make clean && make build           # сборка программы сервера HTTP на Python

Дополнительные параметры сборки см. в файле Makefile.

3. Демонстрация использования

1. Установка и развёртывание

(1) Развёртывание с использованием бинарного пакета:

git clone https://gitee.com/inrgihc/libnpce.git
cd libnpce/publish/
tar zxvf httpd_npce_server_1.0.36_bin.tar.gz
cd httpd_npce_server/
./startup.sh

(2) Развёртывание в Docker-контейнере:

docker run -d --name py_npce_httpd -p 7645:7645 inrgihc/py_npce_httpd:latest

2. Вызовы сервисов

Сервисы основаны на mongoose и предоставляют доступ по протоколу HTTP. Параметры передаются методом POST. Подробные параметры настройки:

 ----------------------------------------------------------------------
 |  Параметр    |   Значение по умолчанию  |   Описание
 ----------------------------------------------------------------------
 |     url       |   значение не может быть пустым  | URL для извлечения основной информации (необходимо кодировать URL)
 ----------------------------------------------------------------------
 |     img       |      0          | Извлекать ли изображения из основного текста, 1 — да, 0 — нет
 ----------------------------------------------------------------------
 |      flg      |      0          | Отмечать ли положение изображений в основном тексте, 1 — да, 0 — нет
 ----------------------------------------------------------------------

Примечание: Изображения в основном тексте обозначаются как "{IMG:N}", где N — номер изображения. Пример вызова с использованием CURL:

$ curl "http://127.0.0.1:7654/npce" -d "img=1&flg=1&url=http://news.sina.com.cn/c/2016-11-07/doc-ifxxnffr6962826.shtml"

3. Пример скриншота

picture

4. Документация и блог

(1) https://blog.csdn.net/inrgihc/article/details/103739874

(2) https://tangyibo.github.io/libariry/2020/01/17/a-news-passage-content-extractor-library/

5. Обратная связь

Если вы использовали или оценили этот инструмент, пожалуйста, поставьте лайк этому проекту. Если вы столкнулись с ошибками при использовании, пожалуйста, сообщите о них в issue. Также вы можете присоединиться к группе обсуждения, отсканировав QR-код ниже (добавьте «Программа обмена» при добавлении в друзья):

structure

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

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

Введение

Компонент извлечения основного текста новостной статьи. Развернуть Свернуть
Apache-2.0
Отмена

Обновления

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

Участники

все

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

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