Uliana.Spidering 1.0.1

Fornece todos os recursos necessários para o spidering de aplicações web.

Install-Package Uliana.Spidering -Version 1.0.1
dotnet add package Uliana.Spidering --version 1.0.1
<PackageReference Include="Uliana.Spidering" Version="1.0.1" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Uliana.Spidering --version 1.0.1
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Uliana.Spidering, 1.0.1"
#r directive can be used in F# Interactive, C# scripting and .NET Interactive. Copy this into the interactive tool or source code of the script to reference the package.
// Install Uliana.Spidering as a Cake Addin
#addin nuget:?package=Uliana.Spidering&version=1.0.1

// Install Uliana.Spidering as a Cake Tool
#tool nuget:?package=Uliana.Spidering&version=1.0.1
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

CSharp Spider Library - Uliana.Spidering

Apresentação

A biblioteca foi desenvolvida para auxiliar alguns de meus spiders disponíveis no NuGet que visam exatamente recursos de extração, indexação e fixação de dados presentes na web. Sinta-se livre para utiliza-la, mas que fique claro, não me responsabilizo por qualquer violação de direitos por parte dos sites que a Ulina.Spidering consumir, isso fica a cargo do desenvolvedor que utilizará a mesma.

Dentro do conteúdo apresentado pela biblioteca, temos vários parsers de conteúdo presente na web, desde documentos de configuração genérico (como robots.txt ou sitemap.xml) assim como a serialização de conteúdos DOM, e um certo nível de controle de scripts, porém sem presença no repositório público por estar em fase extremamente prematura.

Instalando em seu projeto

Você pode instalar a biblioteca no seu projeto atravéz do NuGet:

Via Package Manager:

Install-Package Uliana.Spidering -Version 1.0.1

Via .NET CLI:

dotnet add package Uliana.Spidering --version 1.0.1

Via Paket CLI:

paket add Uliana.Spidering --version 1.0.1

Para mais informações, você pode visitar a página do pacote nesse link.

Exemplo Genérico: Serializando um arquivo robots.txt

Baseado em outras consagradas bibliotecas de serialização de conteúdo na web, que sempre impunham ao desenvolvedor uma enorme série de depêndencias para realizar o parsing do conteúdo dentro do arquivo robots.txt, para facilitar isso, a biblioteca tem total suporte as regras de crawling parametrizadas pelo arquivo. Vamos observar um simples exemplo:

# Regras genéricas, retirado parcialmente das regras do Facebook.
User-agent: Googlebot
Disallow: /addContacts*
Disallow: /addressBookExport*
Disallow: /analytics/
Disallow: /answers*
Disallow: /cap/

Vamos considerar o arquivo de configuração acima serializado dentro de um arquivo txt no mesmo diretório onde o seu binário que consumirá a aplicação está localizado, dessa forma podemos serializado da seguinte forma:

// Le-se o conteúdo dentro do arquivo
var robots = File.ReadAllText("robots.txt");
// Instânciamos o objeto para gerenciar as regras
var parser = RobotParser.Load(robots);

E agora basta consumirmos o conteúdo passado no construtor da classe que gerencia tudo isso, RobotParser:

// Imprime o total de regras contidas no arquivo
WriteLine($"Existem {parser.Rules.Count} regras no arquivo.");
var regra = parser.Rules[0];
// Imprime o agente de usuário indexado na posição 0 das regras
WriteLine($"Regras para o user-agent {regra.UserAgent}:");
// Imprime a capacidade de acesso ao diretório /analytics/
WriteLine("Pode acessar /analytics/?: " +
          $"{parser.IsPathAllowed(regra.UserAgent, "analytics")}");
// Imprime a capacidade de acesso ao diretório /analytics/admin
WriteLine("Pode acessar /analytics/admin?: " +
          $"{parser.IsPathAllowed(regra.UserAgent, "analytics/admin")}");

Como podemos observar, todas as regras dentro do snippet utilizado para exemplo foram serializadas com sucesso, por tanto, podemos dessa forma realizar o spidering eficiente, e preferencialmente sem violar qualquer regra de acesso de um certo serviço na web.


Compilando a biblioteca

Para realizar a compilação, e gerar a mesma build, é necessário que o sistema operacional alvo tenha instalado um ambiente com o DotNet Core v2.x.x instalado, e também o pacote de ferramentas Git Tools.

  1. Clonando o repositório e navegando até a pasta do projeto:
$ git clone https://github.com/JonasUliana/Spidering.git
$ cd Spidering
  1. Restaurando e gerando a build do projeto:
$ dotnet restore && dotnet build

E isso é tudo senhor! Apenas com duas instruções, você já pode consumir a biblioteca em qualquer um de seus projetos, sinta-se livre para colaborar com o desenvolvimento da mesma, somente assim encontro motivação (e talvez raiva) para persistir na melhoria da mesma!

CSharp Spider Library - Uliana.Spidering

Apresentação

A biblioteca foi desenvolvida para auxiliar alguns de meus spiders disponíveis no NuGet que visam exatamente recursos de extração, indexação e fixação de dados presentes na web. Sinta-se livre para utiliza-la, mas que fique claro, não me responsabilizo por qualquer violação de direitos por parte dos sites que a Ulina.Spidering consumir, isso fica a cargo do desenvolvedor que utilizará a mesma.

Dentro do conteúdo apresentado pela biblioteca, temos vários parsers de conteúdo presente na web, desde documentos de configuração genérico (como robots.txt ou sitemap.xml) assim como a serialização de conteúdos DOM, e um certo nível de controle de scripts, porém sem presença no repositório público por estar em fase extremamente prematura.

Instalando em seu projeto

Você pode instalar a biblioteca no seu projeto atravéz do NuGet:

Via Package Manager:

Install-Package Uliana.Spidering -Version 1.0.1

Via .NET CLI:

dotnet add package Uliana.Spidering --version 1.0.1

Via Paket CLI:

paket add Uliana.Spidering --version 1.0.1

Para mais informações, você pode visitar a página do pacote nesse link.

Exemplo Genérico: Serializando um arquivo robots.txt

Baseado em outras consagradas bibliotecas de serialização de conteúdo na web, que sempre impunham ao desenvolvedor uma enorme série de depêndencias para realizar o parsing do conteúdo dentro do arquivo robots.txt, para facilitar isso, a biblioteca tem total suporte as regras de crawling parametrizadas pelo arquivo. Vamos observar um simples exemplo:

# Regras genéricas, retirado parcialmente das regras do Facebook.
User-agent: Googlebot
Disallow: /addContacts*
Disallow: /addressBookExport*
Disallow: /analytics/
Disallow: /answers*
Disallow: /cap/

Vamos considerar o arquivo de configuração acima serializado dentro de um arquivo txt no mesmo diretório onde o seu binário que consumirá a aplicação está localizado, dessa forma podemos serializado da seguinte forma:

// Le-se o conteúdo dentro do arquivo
var robots = File.ReadAllText("robots.txt");
// Instânciamos o objeto para gerenciar as regras
var parser = RobotParser.Load(robots);

E agora basta consumirmos o conteúdo passado no construtor da classe que gerencia tudo isso, RobotParser:

// Imprime o total de regras contidas no arquivo
WriteLine($"Existem {parser.Rules.Count} regras no arquivo.");
var regra = parser.Rules[0];
// Imprime o agente de usuário indexado na posição 0 das regras
WriteLine($"Regras para o user-agent {regra.UserAgent}:");
// Imprime a capacidade de acesso ao diretório /analytics/
WriteLine("Pode acessar /analytics/?: " +
          $"{parser.IsPathAllowed(regra.UserAgent, "analytics")}");
// Imprime a capacidade de acesso ao diretório /analytics/admin
WriteLine("Pode acessar /analytics/admin?: " +
          $"{parser.IsPathAllowed(regra.UserAgent, "analytics/admin")}");

Como podemos observar, todas as regras dentro do snippet utilizado para exemplo foram serializadas com sucesso, por tanto, podemos dessa forma realizar o spidering eficiente, e preferencialmente sem violar qualquer regra de acesso de um certo serviço na web.


Compilando a biblioteca

Para realizar a compilação, e gerar a mesma build, é necessário que o sistema operacional alvo tenha instalado um ambiente com o DotNet Core v2.x.x instalado, e também o pacote de ferramentas Git Tools.

  1. Clonando o repositório e navegando até a pasta do projeto:
$ git clone https://github.com/JonasUliana/Spidering.git
$ cd Spidering
  1. Restaurando e gerando a build do projeto:
$ dotnet restore && dotnet build

E isso é tudo senhor! Apenas com duas instruções, você já pode consumir a biblioteca em qualquer um de seus projetos, sinta-se livre para colaborar com o desenvolvimento da mesma, somente assim encontro motivação (e talvez raiva) para persistir na melhoria da mesma!

Release Notes

Pequenas correções de typo;
Adicionado documentação ausente.

  • .NETCoreApp 2.0

    • No dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version History

Version Downloads Last updated
1.0.1 905 11/14/2017
1.0.0 765 11/12/2017