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