簡體   English   中英

使用 javascript 從谷歌圖片搜索中獲取 URL

[英]Get URLs from google image search using javascript

我需要一個文本文件,其中每一行都是谷歌搜索圖像的 URL。

我最初在觀看 fastia 的課程時找到了這方面的指南。 但是,他們提供的用於獲取 URL 的 javascript 不再有效。 我應該提到它曾經對我有用。

曾經對我有用的方法是在 google.com/images 中搜索“狗”,然后向下滾動以加載大量圖像。 然后按 ctrl+shift+J(chrome 瀏覽器),這將打開一個控制台,我將在其中粘貼以下內容:

document.body.innerHTML = `<a href="data:text/csv;charset=utf-8,${escape(Array.from(document.querySelectorAll('.rg_di .rg_meta')).map(el=>JSON.parse(el.textContent).ou).join('\n'))}" download="links.txt">download urls</a>`;

然后按回車后,我會得到一個鏈接來下載一個文本文件(links.txt)。 該文件將包含之前谷歌搜索中每個圖像的 URL。 作業完成! (這在不到一個月前對我有用)。

但是當我現在運行代碼時,我只得到一個空文件。 我對 javascripts 一無所知,所以這對我來說幾乎不可能調試。 但我想一定有什么改變了,因為這不再有效,但我不知道那可能是什么。 我什至在我女朋友的電腦上試過,結果是一樣的——一個空文件。

這是一個類似指南的鏈接,同樣受到 fastai 課程的啟發。 (我找不到我用的原版) https://towardsdatascience.com/fastai-image-classification-32d626da20#d90e

我也嘗試遵循本指南,它甚至沒有給我一個文件或鏈接。 在下圖中查看結果。 我來自鏈接指南的結果

在我最近尋找解決方案的過程中,我找到了多個這樣的指南,但沒有一個對我有用。

如果解決方案可以像我以前的方法一樣簡單,我真的很感激,我所要做的就是將一行粘貼到控制台中。 我想對以前的 javascript 稍作改動就可以使它再次工作,但我可能是錯的...

是的 - 我知道圖片中的警告說的是什么。 :P

在控制台中試試這個

var urls=Array.from(document.querySelectorAll('.rg_i')).map(el=> el.hasAttribute('data-src')?el.getAttribute('data-src'):el.getAttribute('data-iurl'));
var hiddenElement = document.createElement('a');
hiddenElement.href = 'data:text/csv;charset=utf-8,' + encodeURI(urls.join('\n'));
hiddenElement.target = '_blank';
hiddenElement.download = 'myFile.txt';
hiddenElement.click();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM