Add files via upload
Esse commit está contido em:
@@ -0,0 +1,68 @@
|
|||||||
|
-- phpMyAdmin SQL Dump
|
||||||
|
-- version 4.6.6deb5
|
||||||
|
-- https://www.phpmyadmin.net/
|
||||||
|
--
|
||||||
|
-- Host: localhost:3306
|
||||||
|
-- Tempo de geração: 16/10/2017 às 08:46
|
||||||
|
-- Versão do servidor: 10.1.26-MariaDB-1
|
||||||
|
-- Versão do PHP: 7.0.22-3
|
||||||
|
|
||||||
|
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
|
||||||
|
SET time_zone = "+00:00";
|
||||||
|
|
||||||
|
|
||||||
|
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
||||||
|
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
||||||
|
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
|
||||||
|
/*!40101 SET NAMES utf8mb4 */;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Banco de dados: `crawler`
|
||||||
|
--
|
||||||
|
CREATE DATABASE IF NOT EXISTS `crawler` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
|
||||||
|
USE `crawler`;
|
||||||
|
|
||||||
|
-- --------------------------------------------------------
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Estrutura para tabela `videos`
|
||||||
|
--
|
||||||
|
|
||||||
|
CREATE TABLE `videos` (
|
||||||
|
`id` int(3) NOT NULL,
|
||||||
|
`campus` varchar(500) NOT NULL,
|
||||||
|
`ano` varchar(500) NOT NULL,
|
||||||
|
`autores` varchar(500) NOT NULL,
|
||||||
|
`link_para_pagina` varchar(500) NOT NULL,
|
||||||
|
`titulo` varchar(500) NOT NULL,
|
||||||
|
`palavras_chave` varchar(500) NOT NULL,
|
||||||
|
`referencia` varchar(500) NOT NULL,
|
||||||
|
`resumo` text NOT NULL,
|
||||||
|
`abstract` text NOT NULL,
|
||||||
|
`descricao` text NOT NULL,
|
||||||
|
`link_video` varchar(500) NOT NULL,
|
||||||
|
`data_hora` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Índices de tabelas apagadas
|
||||||
|
--
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Índices de tabela `videos`
|
||||||
|
--
|
||||||
|
ALTER TABLE `videos`
|
||||||
|
ADD PRIMARY KEY (`id`);
|
||||||
|
|
||||||
|
--
|
||||||
|
-- AUTO_INCREMENT de tabelas apagadas
|
||||||
|
--
|
||||||
|
|
||||||
|
--
|
||||||
|
-- AUTO_INCREMENT de tabela `videos`
|
||||||
|
--
|
||||||
|
ALTER TABLE `videos`
|
||||||
|
MODIFY `id` int(3) NOT NULL AUTO_INCREMENT;
|
||||||
|
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
|
||||||
|
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
|
||||||
|
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
|
||||||
+150
@@ -0,0 +1,150 @@
|
|||||||
|
<img src="schema.png" width="300"/><br>
|
||||||
|
|
||||||
|
<?php
|
||||||
|
|
||||||
|
//CONEXÃO COM BANCO DE DADOS
|
||||||
|
$conexao = mysqli_connect("localhost", "usuario", "123", "crawler");
|
||||||
|
|
||||||
|
//PARTE 4
|
||||||
|
//FUNÇÃO QUE SELECIONA O QUE ESTA DELIMITADO
|
||||||
|
function retirarEntre($conteudo, $inicio, $fim){
|
||||||
|
$r = explode($inicio, $conteudo);
|
||||||
|
if (isset($r[1])){
|
||||||
|
$r = explode($fim, $r[1]);
|
||||||
|
return $r[0];
|
||||||
|
}
|
||||||
|
return '';
|
||||||
|
}
|
||||||
|
|
||||||
|
//PARTE 5
|
||||||
|
//FUNÇÃO PARA EXTRAIR INFORMAÇÕES E O VIDEO
|
||||||
|
function extrair_video($link_pagina_video){
|
||||||
|
|
||||||
|
$sql_pagina_video = "";
|
||||||
|
|
||||||
|
$pagina_video = file_get_contents( $link_pagina_video );
|
||||||
|
$pagina_video = retirarEntre($pagina_video, "<table class=\"table itemDisplayTable\">", "</td></tr></tbody></table>");
|
||||||
|
|
||||||
|
//TITULO
|
||||||
|
$titulo = retirarEntre($pagina_video, "<td class=\"metadataFieldValue dc_title\">", "</td>");
|
||||||
|
$sql_pagina_video = $sql_pagina_video . " '$titulo', ";
|
||||||
|
|
||||||
|
//PALAVRAS-CHAVE
|
||||||
|
$palavras_chave = retirarEntre($pagina_video, "<td class=\"metadataFieldValue dc_subject\">", "</td></tr>");
|
||||||
|
$sql_pagina_video = $sql_pagina_video . " '$palavras_chave', ";
|
||||||
|
|
||||||
|
//REFERENCIA
|
||||||
|
$referencia = retirarEntre($pagina_video, "<td class=\"metadataFieldValue dc_identifier_citation\">", "</td>");
|
||||||
|
$sql_pagina_video = $sql_pagina_video . " '$referencia', ";
|
||||||
|
|
||||||
|
//RESUMO
|
||||||
|
$resumo = retirarEntre($pagina_video, "<td class=\"metadataFieldValue dc_description_resumo\">", "</td>");
|
||||||
|
$sql_pagina_video = $sql_pagina_video . " \"$resumo\", ";
|
||||||
|
|
||||||
|
//ABSTRACT
|
||||||
|
$abstract = retirarEntre($pagina_video, "<td class=\"metadataFieldValue dc_description_abstract\">", "</td>");
|
||||||
|
$sql_pagina_video = $sql_pagina_video . " \"$abstract\", ";
|
||||||
|
|
||||||
|
//DESCRICAO
|
||||||
|
$descricao = retirarEntre($pagina_video, "<td class=\"metadataFieldValue dc_description\">", "</td>");
|
||||||
|
$sql_pagina_video = $sql_pagina_video . " '$descricao', ";
|
||||||
|
|
||||||
|
//VIDEO MP4
|
||||||
|
$url_video = @explode("mp4", $pagina_video);
|
||||||
|
$url_video = @retirarEntre($url_video[2], "<a class=\"btn btn-primary\" target=\"_blank\" href=\"", " ");
|
||||||
|
|
||||||
|
//SE NAO ACHAR UM MP4, PROCURAR SE TEM WMV E EXTRAIR
|
||||||
|
if($url_video==""){
|
||||||
|
|
||||||
|
//VIDEO WMV
|
||||||
|
$url_video = explode("wmv", $pagina_video);
|
||||||
|
$url_video = retirarEntre($url_video[2], "<a class=\"btn btn-primary\" target=\"_blank\" href=\"", " ");
|
||||||
|
$url_video = "http://repositorio.roca.utfpr.edu.br".$url_video."wmv";
|
||||||
|
|
||||||
|
|
||||||
|
//Se mesmo assim ainda nao achar o WMV, faça procura novamente e extraia
|
||||||
|
if($url_video=="http://repositorio.roca.utfpr.edu.br"."wmv"){
|
||||||
|
|
||||||
|
$url_video = explode("wmv", $pagina_video);
|
||||||
|
|
||||||
|
$url_video = retirarEntre($url_video[3], "/td><td class=\"standard\" align=\"center\"><a class=\"btn btn-primary\" target=\"_blank\" href=\"", "\">");
|
||||||
|
$url_video = "http://repositorio.roca.utfpr.edu.br$url_video"."wmv";
|
||||||
|
|
||||||
|
if($url_video==""){
|
||||||
|
echo "Não encontrado!";
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}else{
|
||||||
|
//SE ACHAR UM MP4, COLOCA MP4 NO FINAL
|
||||||
|
$url_video = "http://repositorio.roca.utfpr.edu.br". $url_video ."mp4";
|
||||||
|
}
|
||||||
|
|
||||||
|
$sql_pagina_video = $sql_pagina_video . " '$url_video' ";
|
||||||
|
|
||||||
|
return $sql_pagina_video;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//PARTE 1
|
||||||
|
//World Wide Web
|
||||||
|
$pagina_roca = file_get_contents("http://repositorio.roca.utfpr.edu.br/jspui/browse?type=tipologia&order=ASC&rpp=20&value=video");
|
||||||
|
|
||||||
|
|
||||||
|
$pagina_roca = retirarEntre($pagina_roca, '</th></tr><tr>', "</table>");
|
||||||
|
|
||||||
|
$separa = explode("<tr>", $pagina_roca);
|
||||||
|
|
||||||
|
$total_reas = count($separa);
|
||||||
|
|
||||||
|
echo "Número de REAs encontrados: " . $total_reas ."<br><br>";
|
||||||
|
|
||||||
|
//PARTE 2
|
||||||
|
//MULTI-THREADED DOWNLOADER E SCHEDULER (agendador)
|
||||||
|
$rea = 1;
|
||||||
|
|
||||||
|
for($x=0; $x < $total_reas; $x++){
|
||||||
|
|
||||||
|
$sql = "";
|
||||||
|
|
||||||
|
$separa1 = retirarEntre($separa[$x], "<td headers=\"t1\" >", "</tr>");
|
||||||
|
|
||||||
|
|
||||||
|
//CAMPUS
|
||||||
|
$campus = retirarEntre($separa1, "<em>", "</em>");
|
||||||
|
$sql = $sql . " '$campus', ";
|
||||||
|
|
||||||
|
//ANO
|
||||||
|
$ano = retirarEntre($separa1, "\">", "</td>");
|
||||||
|
$sql = $sql . " '$ano', " ;
|
||||||
|
|
||||||
|
//AUTORES
|
||||||
|
$autores = retirarEntre($separa1, "<td headers=\"t4\" >", "</tr>");
|
||||||
|
$sql = $sql . " '$autores', ";
|
||||||
|
|
||||||
|
//PARTE 3, LINK PARA ENTRAR NA PAGINA QUE TEM VIDEO
|
||||||
|
//QUEUE URL (FILA DE URLs)
|
||||||
|
$link_pagina_video = retirarEntre($separa1, "<a href=\"", "\">");
|
||||||
|
|
||||||
|
|
||||||
|
$link_pagina_video = "http://repositorio.roca.utfpr.edu.br".$link_pagina_video;
|
||||||
|
$sql = $sql . " '$link_pagina_video', ";
|
||||||
|
|
||||||
|
$dados_da_pagina = extrair_video( $link_pagina_video );
|
||||||
|
$sql = $sql . $dados_da_pagina;
|
||||||
|
|
||||||
|
//PARTE 6 FIM
|
||||||
|
//STORAGE (TEXT AND METADATA)
|
||||||
|
$query = "INSERT INTO videos (campus, ano, autores, link_para_pagina, titulo, palavras_chave, referencia, resumo, abstract, descricao, link_video) VALUES ( $sql )";
|
||||||
|
|
||||||
|
$query = mysqli_query($conexao, $query) or die(mysqli_error($conexao));
|
||||||
|
|
||||||
|
echo "<font color=green>[OK] REA $rea INCLUÍDO COM SUCESSO USANDO CRAWLER AUTOMATICAMENTE</font><br><br>";
|
||||||
|
|
||||||
|
$rea++;
|
||||||
|
|
||||||
|
}
|
||||||
|
?>
|
||||||
Referência em uma Nova Issue
Bloquear um usuário