1028.us

管理ページへ

ログアウト

request

HTMLのダウンロード

// モジュールの読込
const request = require('request')
const fs = require('fs')

// URLの指定
const url = "http://kujirahand.com/"
const savepath = "test.html"

// ダウンロード
request(url).pipe(fs.createWriteStream(savepath))

リンクされている画像を全てダウンロード

// 各モジュールの読み込み
const client = require('cheerio-httpcli')
const request = require('request')
const fs = require('fs')
const URL = require('url')

//  __dirnameはスクリプトの実行ディレクトリ
const savedir = __dirname + "/img"

//  ファイルの存在を確認
if (!fs.existsSync(savedir)) {
  fs.mkdirSync(savedir);
}

// HTMLとパラメータの指定
const url = "https://ja.wikipedia.org/wiki/%E6%97%A5%E7%94%A3%E3%83%BB%E3%82%B9%E3%82%AB%E3%82%A4%E3%83%A9%E3%82%A4%E3%83%B3"
const param = {}

// HTML取得
client.fetch(url, param, function(err, $, res) {
  if (err) {
    console.log("error");
    return
  }

  // imgタグの取得
  $("img").each(function(idx) {
    // src属性を取得
    let src = $(this).attr('src')
    // 相対パスを絶対パスに変更
    src = URL.resolve(url, src)
    // 保存用のファイル名を作成(URLからパス名を取得)
    let fname = URL.parse(src).pathname
    // アルファベット、数字、ドット以外を「_」に変換
    fname = savedir + "/" + fname.replace(/[^a-zA-Z0-9\.]+/g, '_')
    // requestモジュールでダウンロード
    request(src).pipe(fs.createWriteStream(fname))
  });
});

List of Category