簡體   English   中英

如何使用javascript從網站上抓取圖像?

[英]How to scrape images from a site using javascript?

我正在嘗試用 javascript 編寫一個腳本來從網站上抓取圖像並將它們保存到我的計算機上。

我已經設法使腳本使用 jQuery 隔離包含我想要的圖像的圖像標記。 所以我有一個 jquery 選擇:

<img src="sourceofimage.com/path/img">

我的問題是我現在如何將此圖像保存到我的計算機上?

我嘗試搜索,但我得到的所有結果都是關於制作下載按鈕或其他面向用戶的任務。 需要明確的是,我將是唯一一個運行此腳本的人,它將通過將其粘貼到控制台中來運行。

我只想要一種以編程方式下載圖像並在 jQuery 隔離它后設置其文件名的方法。 這可能嗎?

編輯:有人可以解釋為什么會收到這么多反對票嗎?

試試 fs 庫

fs.writeFile('logo.png', imagedata, 'binary', function(err){
        if (err) throw err
        console.log('File saved.')

這將適用於您頁面上的每張圖片,這些圖片是錨點的直接子代,但您可以使用:

'$('a > img').each(function(){
  var $this = $(this);
  $this.parent('a').attr('href', $this.attr('src'));
  });

但它會完成這項工作。

唯一的問題是,禁用 JS 的用戶將看到一個帶有空 href 的錨點。 以下將實現相同的最終結果,並具有簡化代碼(更干凈的 HTML)和添加優雅降級的額外好處:

'<img src="folio/1.jpg" class="downloadable" />
 $('img.downloadable').each(function(){
  var $this = $(this);
 $this.wrap('<a href="' + $this.attr('src') + '" download />')

在網絡瀏覽器中,它基本上無法完成,您不能直接寫入文件系統(使用瀏覽器擴展可能是可能的,但我有一段時間沒有看過這個)。

使用 node 沒有什么能阻止你做這樣的事情:

  • 使用 http 檢索 HTML
  • 使用 jQuery 解析 html - 類似於$(html).find('img');
  • 為每個圖像生成一個 http 請求以下載它們
  • 使用 fs 將其保存到磁盤

暫無
暫無

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

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