Add scraping process details
This commit is contained in:
parent
bbafcfa40f
commit
2f632491bc
@ -39,11 +39,49 @@ $ /caminho/para/o/saca-sapos QUANTIDADE_DE_VIDEOS TEU_ENDERECO_DE_EMAIL
|
|||||||
$ PROCS=10 /caminho/para/o/saca-sapos 1000 eu@exemplo.pt
|
$ PROCS=10 /caminho/para/o/saca-sapos 1000 eu@exemplo.pt
|
||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
|
<h2>Encontrar mais vídeos</h2>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
O <a href="https://git.ansol.org/hugopeixoto/sapo-videos/">repositório de
|
||||||
|
código deste projecto</a> tem os scripts usados para varrer a plataforma
|
||||||
|
e guardar todos os identificadores de vídeos que encontrar. Por exemplo, é possível
|
||||||
|
varrer todas as 1468 páginas da categoria "Animação" (3) correndo o comando:
|
||||||
|
</p>
|
||||||
|
<pre>./get-category.sh 3 1468</pre>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
No total, temos recolhidos 1.5 milhões de vídeos. Supostamente há cerca de 5 milhões.
|
||||||
|
Diponibilizamos os <a href="/videos.jsonl">metadados dos vídeos encontrados (1.5 GiB)</a> em formato JSONL.
|
||||||
|
Cada linha é um objecto JSON que representa um vídeo.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Os endpoints de pesquisa devolvem os metadados completos de cada resultado.
|
||||||
|
Não sabemos de nenhum endpoint que devolva os metadados de um vídeo em
|
||||||
|
específico.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>Coisas que já foram feitas:</p>
|
||||||
|
<ul>
|
||||||
|
<li>Varridos os resultados das pesquisas por letras únicas de <code>a</code> a <code>z</code> (<code>./get-search.sh a 105</code>, etc);</li>
|
||||||
|
<li>Varridos os resultados das pesquisas por um só espaço (<code>./get-search.sh " " 13716</code>);</li>
|
||||||
|
<li>Varridos todos os utilizadores dos vídeos encontrados nos passos anteriores;</li>
|
||||||
|
<li>Varridas todas as categorias;</li>
|
||||||
|
<li>Varridos os resultados das pesquisas por um números até 16 (<code>./get-search.sh 1 6007</code>, etc);</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Os scripts à volta desta tarefa não estão muito optimizados para distribuir
|
||||||
|
trabalho / fazer trabalho incremental, mas qualquer ajuda a descobrir mais
|
||||||
|
vídeos é bem-vinda. Mandem mensagens no fediverso (<a href="https://ciberlandia.pt/@hugopeixoto">@hugopeixoto@ciberlandia.pt</a>) para coordenarmos trabalho.
|
||||||
|
</p>
|
||||||
|
|
||||||
<h2>Estatísticas</h2>
|
<h2>Estatísticas</h2>
|
||||||
|
|
||||||
<p>Número de vídeos descarregados: <%= stats[:downloads]["total"].to_i %></p>
|
<p>Número de vídeos descarregados: <%= stats[:downloads]["total"].to_i %></p>
|
||||||
<p>Tamanho total: <%= h(stats[:downloads]["bytes"].to_i) %></p>
|
<p>Tamanho total: <%= h(stats[:downloads]["bytes"].to_i) %></p>
|
||||||
<p>Tamanho médio: <%= h(stats[:downloads]["bytes"].to_i / stats[:downloads]["total"].to_i) %>/vídeo</p>
|
<p>Tamanho médio: <%= h(stats[:downloads]["bytes"].to_i / stats[:downloads]["total"].to_i) %>/vídeo</p>
|
||||||
|
<p>Número de pessoas a descarregar vídeos: <%= stats[:users]["total"] %></p>
|
||||||
|
|
||||||
<footer>
|
<footer>
|
||||||
<hr />
|
<hr />
|
||||||
|
4
main.rb
4
main.rb
@ -29,7 +29,9 @@ get '/' do
|
|||||||
FROM (select size from downloads group by video_id) as x;
|
FROM (select size from downloads group by video_id) as x;
|
||||||
")[0]
|
")[0]
|
||||||
|
|
||||||
stats = { downloads: downloads }
|
users = ActiveRecord::Base.connection.execute("select count(distinct email) AS total from downloads;")[0]
|
||||||
|
|
||||||
|
stats = { downloads: downloads, users: users }
|
||||||
|
|
||||||
ERB
|
ERB
|
||||||
.new(File.read("index.html.erb"), trim_mode: "<>-")
|
.new(File.read("index.html.erb"), trim_mode: "<>-")
|
||||||
|
Loading…
Reference in New Issue
Block a user