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

OSCHINA-MIRROR/golddata-golddata-spider

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

GoldDataSpider

Введение

GoldDataSpider — это открытый проект для сбора данных, который используется для извлечения данных с веб-страниц. Его основной код был выделен из платформы сбора и слияния данных GoldData.

Проект позволяет извлекать данные с веб-сайтов, включая содержимое страниц, URL-адреса, заголовки HTTP и данные из файлов cookie.

В проекте используется простая, гибкая и быстрая структура или правила синтаксиса. Он эффективно извлекает значимые и ценные поля данных из содержимого веб-страницы, заголовков HTTP, файлов cookie и даже связанных веб-страниц и других сайтов, формируя записи данных. Кроме того, он может встраивать HTTP-запросы для дополнения полей данных, например, для перевода некоторых полей в словари.

Проект также поддерживает извлечение данных из различных типов документов, таких как HTML, XML, JSON, JavaScript и текст.

Бесплатная версия GoldData для сообщества

Бесплатная версия GoldData для сообщества — это программное обеспечение для частного облака, которое позволяет собирать данные без ограничений, таких как количество пауков, скорость и время сбора, количество собранных данных и объём экспортируемых данных.

Мы предоставляем подробные бесплатные документы и обучающие видео о платформе GoldData. Для получения дополнительной информации посетите здесь.

Добавьте QQ в группу обмена: 718556263. Если вы поставите лайк проекту на Oschina или GitHub, вы получите месячную лицензию профессиональной версии.

Технические преимущества

GoldData Scrapy
Преимущества 1. Простые, гибкие и лёгкие в написании правила с поддержкой визуального редактора и редактора исходного кода
2. Возможность повторного сбора данных без дублирования
3. Возможность одновременного сбора данных и отношений данных в базу данных
1. Основан на Python-скриптах
2. Большое количество сторонних материалов
3. Преимущество интернационализации
Недостатки В настоящее время поддерживается только MySQL Правила и Python-код смешаны, что затрудняет обслуживание
GoldData spiderman/spiderman2
Преимущества 1. Простые, гибкие и лёгкие в написании правила с поддержкой визуального редактора и редактора исходного кода
2. Возможность повторного сбора данных без дублирования
3. Возможность одновременного сбора данных и отношений данных в базу данных
Недостатки В настоящее время поддерживается только MySQL Скрипт большой, его трудно поддерживать
GoldData Другие коммерческие сборщики данных
Преимущества 1. Простые, гибкие и лёгкие в написании правила с поддержкой визуального редактора и редактора исходного кода
2. Возможность повторного сбора данных без дублирования
3. Возможность одновременного сбора данных и отношений данных в базу данных
4. Полностью бесплатная неограниченная функция сбора данных
1. Функция «визуального» сбора
Недостатки 1. В настоящее время поддерживается только MySQL
2. Нет функции «визуального» сбора
1. Обычно требуется написание скриптов, «визуальный» сбор малоэффективен
2. Бесплатные версии обычно ограничивают количество сборов, объём экспорта или количество пауков

Начало работы

Сначала добавьте зависимости в проект (поскольку мы уже добавили этот проект в центральный репозиторий Maven), например:

  1. Для проектов Maven:
<dependency>
  <groupId>com.100shouhou.golddata</groupId>
  <artifactId>golddata-spider</artifactId>
  <version>1.1.4</version>
</dependency>
  1. Для проектов Gradle:
 compile group: 'com.100shouhou.golddata', name: 'golddata-spider', version: '1.1.4'

Затем вы можете использовать простой и понятный API, предоставляемый этими зависимостями, например:

@Test
public void testGoldSpider(){
    String ruleContent=
            "    {                                                      \n"+
            "      __node: li.sky.skyid                                 \n"+
            "      date:                                                \n"+
            "      {                                                    \n"+
            "        expr: h1                                           \n"+
            "        __label: 日期                                      \n"+
            "      }                                                    \n"+
            "      sn:                                                  \n"+
            "      {                                                    \n"+
            "                                                           \n"+
            "        js: md5(baseUri+item.date+headers['Content-Type']);\n"+
            "      }                                                    \n"+
            "      weather:                                             \n"+
            "      {                                                    \n"+
            "        expr: p.wea                                        \n"+
            "      }                                                    \n"+
            "      temprature:                                          \n"+
            "      {                                                    \n"+
            "        expr: p.tem>i                                      \n"+
            "      }                                                    \n"+
            "    }                                                      \n";
    GoldSpider spider= com.xst.golddata.GoldSpider.newSpider()
            .setUrl("http://www.weather.com.cn/weather/101020100.shtml")
            .setRule(ruleContent)
            .request();
    List list=spider.extractList();
    // List<Weather> weathers=spider.extractList(Weather.class);
    // Weather weathers=spider.extractFirst(Weather.class);
   list.forEach( System.out::println);
}

Запустив этот тест, вы увидите вывод, подобный следующему:

{date=19日(今天), weather=阴转小雨, temprature=10℃, sn=8bc265cb2bf23b6764b75144b255d81d}
{date=20日(明天), weather=小雨转多云, temprature=11℃, sn=9efd7e7bbbfb9bb06e04c0c990568bfd}
{date=21日(后天), weather=多云转中雨, temprature=11℃, sn=728539ac882721187741708860324afa}
{date=22日(周六), weather=小雨,

*Примечание: в тексте запроса присутствуют фрагменты кода на языке Java, которые были оставлены без изменений.* {date=23日(周日), weather=небольшой дождь, переходящий в облачность, temprature=9℃, sn=a23fa2233e750a3bdd11b2e200ed06c3}
{date=24日(周一), weather=облачность, переходящая в небольшой дождь, temprature=8℃, sn=b27e1b8a8e92a7bed384ceb3e4fdfb5f}
{date=25日(周二), weather=небольшой дождь, переходящий в умеренный дождь, temprature=6℃, sn=16f71d3c8f09394588532a3ed1a8bacf}

Можно использовать в проекте как вызов сервиса и API. Например:
```java
@Service
public class WeatherServiceImpl implements WeatherService{

    public List<Weather> listByCityId(Long cityId){
        String url="http://www.weather.com.cn/weather/"+cityId+".shtml"
        String rule="<аналогично>"
        GoldSpider spider= com.xst.golddata.GoldSpider.newSpider()
                        .setUrl(url)
                        .setRule(ruleContent)
                        .request();
            
        return spider.extractList(Weather.class);    
    }
}

Кроме того, можно бесплатно использовать визуальный редактор для редактирования содержимого правил. Визуальный редактор доступен на платформе «Золотые данные», его можно скачать по ссылке: ссылка. Скриншот визуального редактора:

визуальный редактор

Документация и обучающие видео

Содержимое правил и документация доступны по ссылке: здесь.

Вы можете ознакомиться с соответствующими статьями на Oschina, https://my.oschina.net/u/4095696?tab=newest.

Лицензия

Golddata-Spider использует лицензию Apache версии 2.0.

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

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

Введение

1. Правила лаконичные, гибкие, легко читаемые и записываемые. 2. Можно многократно собирать данные без дублирования. 3. Можно одновременно собирать и объединять данные и отношения между ними. 4. Поддерживает AJAX. 5. Документация и обучающие видео в полном объёме. Основной код получен из платформы GoldData. Развернуть Свернуть
Apache-2.0
Отмена

Обновления

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

Участники

все

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

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