Procure a imagem inversa dos vídeos do YouTube
Postado em 20 de novembro de 1396 em Oscine Services
Procure a imagem inversa dos vídeos do YouTube
Pesquisar automaticamente vídeos da imagem inversa
2 de dezembro de 2015, por Justin Sits
Fonte: Bellingcat
Tradução: abrangente
Esta publicação foi originalmente publicada no blog AutomatingOSINT.com.
Elliott Higgins tem uma postagem maravilhosa mostrando como ele tira imagens de visualização de vídeos do YouTube e usa essas imagens para rever ou potencialmente encontrar outros sites nos quais o vídeo pode ou não mostrar o link. Esta técnica é chamada de pesquisa de pesquisa reversa, que também paguei neste blog. Esta técnica OSINT é incrivelmente poderosa porque pode potencialmente dar-lhe sites adicionais para ver quem está usando um determinado vídeo, ou também pode dizer se alguém está mentindo sobre fazer um vídeo genuíno, ou Não O que temos em mente aqui é automatizar este processo usando a API do YouTube e a API TinEye (a um custo). A finalidade disso é criar uma cópia na qual podemos apenas colocar um ID de vídeo do YouTube e copiar nossas transcrições para as miniaturas do vídeo e colocá-las novamente para procurar uma imagem reversa. Nossa intenção é aumentar a velocidade do processo de fazer essa revisão.
YouTube API - Recuperar imagens de pré-visualização
A API do YouTube também é ótimo para pesquisas de vídeo, bem como para capturar vídeos gravados (na minha lição, eu ensino) para extrair muitos metadados do meu coração. Em breve, usaremos a API para recuperar os thumniles de um determinado vídeo e, em seguida, importar estas miniaturas para a API TinEye para fornecer uma imagem de pesquisa inversa para nós. Eu sei que a chave para este link sua API do YouTube para este link tem. Além disso, este é um formato de URL
Sabe-se que as imagens de pré-visualização de vídeos adicionais serão fornecidas a você. Também incluiremos este formato url em nossa cópia para fornecer a melhor cobertura possível.
API TinEye
As pessoas que trabalham no TinEye foram muito gentis e generosas e criaram uma biblioteca Python para se comunicar com suas próprias APIs. Você pode obtê-lo aqui e seus documentos também estão disponíveis nesta página . Certifique-se de seguir as instruções para instalar a biblioteca Python.
Em breve, vamos ficar um pouco caloros com a nossa programação e abrir um novo arquivo chamado bellingcatyoutube.py. Começamos digitando o seguinte código (você pode baixar o código-fonte daqui .)
Nós só inserimos as bibliotecas necessárias aqui, comece a API do TinEye e adicione alguma quebra do comando do argumento da linha. Ainda não há fantasia. Vamos criar um encanamento para chamar nossa API do YouTube:
Ok, agora temos que descrever um pouco esse código:
- Linha 20 : definimos a função detalhada do nosso vídeo do YouTube para obter o ID do vídeo.
- Linha 22-24 : Ao inserir a ID do vídeo e a API da API do YouTube que possuímos, criamos o URL solicitado da nossa API do YouTube.
- Linha 26 : envie o pedido para o Google Magic Servers.
- Linha 28-32 : se obtivermos uma boa resposta (28), quebramos o JSON (30) e retornamos nossos resultados de pesquisa (32).
Esta função será usada para receber miniaturas padrão que estão relacionadas a qualquer vídeo do YouTube. Agora, usamos essa função para criar uma lista de URLs que podem ser importados para o TinEye. Agora vamos adicionar este código:
- Linha 38 : Usamos uma função desenvolvida anteriormente para recuperar todos os dados associados a um determinado vídeo (Nota: você pode verificar a variável video_data e ver todos os metadados interessantes pertencentes a cada vídeo).
- Linha 40 : extraímos a lista de miniaturas do resultado.
- Linha 47-49 : Agora criamos um loop em cada miniatura (47) e adiciona-a à lista abrangente de URLs (49). Mais tarde, esta lista abrangente será usada.
Aqui está um truque bem conhecido ainda não comprovado em vídeos do YouTube que nos permite obter imagens de pré-visualização adicionais para o nosso vídeo favorito. Este é um simples acompanhamento de uma faixa conhecida nos servidores do YouTube, juntamente com a ID do vídeo e solicitando uma lista seqüencial de imagens. Para fazer isso, digite o seguinte código:
Lançando contagens de 0 a 3 e criando uma URL usando o contador e a ID de vídeo que inserimos. Isso criará uma lista como esta:
Não é interessante? Agora, temos um estado de loop de dados para cada um dos URLs e nós o colocamos na API TinEye. Crie o seguinte código:
Agora é melhor quebrar isso:
- Linha 60 : listamos os valores dos resultados, onde vamos armazenar todas as conformações que retornam da TinEye.
- Linhas 73-63 : na nossa lista de URL, criamos um estado de loop (63) e, em seguida, usamos a função search_url para inserir nosso URL na API TinEye (68). Se encontrarmos adaptações (72), adicionamos cada uma delas à nossa lista de resultados (73).
Neste caso, precisamos ter uma lista de itens do TinEye Match que contenham informações sobre nossos resultados de pesquisa. Agora vamos derrubar e extrair informações importantes, ou seja, a URL de cada site de correspondência de pesquisa que usa a imagem, bem como a data em que a TinEye a dedicou. Eu quase cheguei, camaradas, apenas algumas linhas de código deixadas!
- خطهای ۷۶-۷۵: مقدار اولیهای به فهرست result_urls خود میدهیم (۷۵) تا هر URL را که در اندیس TinEye و دیکشنری dates یافته شده ، ذخیره کند؛ دیکشنریdates ، URLهایی را نگهداری خواهد کرد که براساس تاریخ طبقهبندی شدهاند درنتیجه میتوانیم آنها را مرتب کرده و قدیمیترین URL را که حاوی تصاویر موردنظر ما بوده، بیابیم.
- خطوط ۸۵-۷۸: در هریک از انطباقهای خود حالت حلقهای ایجاد میکنیم (۷۸) و سپس شروع به ایجاد حلقه در هر لینک موجود در TinEye Match میکنیم (۸۰). امتحان میکنیم که آیا URL مورد نظر را یافتهایم (۸۲) و آیا این URL را ذخیره کردهایم (۸۴) و تاریخی که URL مذکور بازیابی شده است چیست (۸۵).
بسیار خب، از هفتخوان عبور کردیم! حالا فقط کافی است نتایجمان را پرینت بگیریم تا کار تمام شود! بیایید آخرین بخش کد را وارد کنیم:
حالا کار سادهای داریم. فقط در تمام URLهای کشف شده حلقه ایجاد کرده و از هرکدام پرینت میگیریم (توجه: سپس میتوانید تمام این URLها را به دیگر رونوشتهایی که ایجاد کردهایم مثل Google Analytics یا Common Crawl نیز وارد کنید!) در ادامه قدیمیترین تاریخ را با مرتب کردن تاریخها پیدا میکنیم و از این تاریخ بهعنوان کلیدی برای دیکشنری dates خود بهره میبریم.
بگذارید با سرعت پیش برود!
متاسفانه، ویدیویی که الیوت در مثال واقعی خود بهکار برده بود در اندیس TinEye یافته نشد، بااینوجود دوستی بهنام ژوزف اوید آدامز ویدیویی از موشکی شلیک شده از خاک سوریه در سال ۲۰۱۴ فرستاده بود که آن را امتحان کردم. ویدیو این بود:
بنابراین ID ویدیویی که میخواهیم استفاده کنیم این است: zGM47VtGQ-4
justin$:> python bellingcatyoutube.py -v zGM47VtGQ-4
[*] بازیابی ID ویدیو: zGM47VtGQ-4
[*] تصاویر کوچک/ Thumbnailها بازیابی شد. حالا وارد کردن آنها به TinEye…
[*] Searching TinEye for: https://i.ytimg.com/vi/zGM47VtGQ-4/default.jpg
[*] Searching TinEye for: https://i.ytimg.com/vi/zGM47VtGQ-4/hqdefault.jpg
[*] Searching TinEye for: https://i.ytimg.com/vi/zGM47VtGQ-4/mqdefault.jpg
[*] Searching TinEye for: https://i.ytimg.com/vi/zGM47VtGQ-4/maxresdefault.jpg
[*] Searching TinEye for: https://i.ytimg.com/vi/zGM47VtGQ-4/sddefault.jpg
[*] Searching TinEye for: https://img.youtube.com/vi/zGM47VtGQ-4/0.jpg
[*] Searching TinEye for: https://img.youtube.com/vi/zGM47VtGQ-4/1.jpg
[*] Searching TinEye for: https://img.youtube.com/vi/zGM47VtGQ-4/2.jpg
[*] Searching TinEye for: https://img.youtube.com/vi/zGM47VtGQ-4/3.jpg
[*] Searching TinEye for: https://i.ytimg.com/vi/zGM47VtGQ-4/hqdefault.jpg
[*] Searching TinEye for: https://i.ytimg.com/vi/zGM47VtGQ-4/mqdefault.jpg
[*] Searching TinEye for: https://i.ytimg.com/vi/zGM47VtGQ-4/maxresdefault.jpg
[*] Searching TinEye for: https://i.ytimg.com/vi/zGM47VtGQ-4/sddefault.jpg
[*] Searching TinEye for: https://img.youtube.com/vi/zGM47VtGQ-4/0.jpg
[*] Searching TinEye for: https://img.youtube.com/vi/zGM47VtGQ-4/1.jpg
[*] Searching TinEye for: https://img.youtube.com/vi/zGM47VtGQ-4/2.jpg
[*] Searching TinEye for: https://img.youtube.com/vi/zGM47VtGQ-4/3.jpg
[*] ۷۲۵ URL منحصر به فرد پیدا شد که با این تصویر انطباق دارند.
http://nnm.me/blogs/Y2k_live/chto-mogut-protivopostavit-boeviki-igil-rossiyskim-samoletam/
http://edition.cnn.com/2014/11/12/world/meast/syria-isis-child-fighter/index.html
http://www.cnn.com/2014/11/12/world/meast/syria-isis-child-fighter/index.html
http://www.aktuel.com.tr/multimedya/galeri/gundem/isid-2-adet-helikopter-dusurdu?albumId=67897&page=8&tc=12
http://www.cnn.com/2014/11/14/world/meast/isis-setbacks-iraq-lister/
http://www.tinmoi.vn/thach-thuc-tag.html
http://www.abc.net.au/news/2015-11-20/two-australians-accused-of-being-part-of-terrorist-kuwait-plot/6957330
http://finance.chinanews.com/stock/2013/10-11/5364352.shtml
http://edition.cnn.com/2014/11/12/world/meast/syria-isis-child-fighter/index.html
http://www.cnn.com/2014/11/12/world/meast/syria-isis-child-fighter/index.html
http://www.aktuel.com.tr/multimedya/galeri/gundem/isid-2-adet-helikopter-dusurdu?albumId=67897&page=8&tc=12
http://www.cnn.com/2014/11/14/world/meast/isis-setbacks-iraq-lister/
http://www.tinmoi.vn/thach-thuc-tag.html
http://www.abc.net.au/news/2015-11-20/two-australians-accused-of-being-part-of-terrorist-kuwait-plot/6957330
http://finance.chinanews.com/stock/2013/10-11/5364352.shtml
….
[*] A adaptação mais antiga data de 2014-10-10 00:00:00 emhttp://finance.chinanews.com/stock/2013/11-15/5508881.shtml .
É ótimo, agora você tem o número potencial de sites que você pode procurar e verificar. Se você está tentando validar o filme antigo ou novo que você está visualizando, a data mais antiga é muito importante. Sua milhagem pode ser diferente do índice TinEye, então, para casos mais difíceis, você pode ver como Eliot trabalha em sua postagem aqui , ele usa o processo de pesquisa inversa do Google.
Publique seu comentário ...