masalibの日記

システム開発、運用と猫の写真ブログです

jsonファイルのアイコンが可愛い件www

google Driveにファイルを保存したら
女の子のアイコンが表示された

f:id:masalib:20180501191805p:plain
びっくりした
jsファイルやxmlファイルも普通だった
f:id:masalib:20180501190921p:plain
てっきりこんな感じのアイコンになると思っていた

https://icons8.jp/icon/22441/json
より引用

なんでこのアイコンになるのか全然わからない
これがマテリアルデザインなの???

reactとexpressをつなぐ

社内の勉強会でreactを勉強しています

サンプルをもとに作っているのですが
reactとexpressをつなぐ所が動かず・・・泣きそうになっています

何回目なのかわからないのですが1から作り直す事にしました

別のツールでつくれる事がわかりました

masalib.hatenablog.com

続きを読む

オリンピック会場が着々と作られているのね

先月ぐらいに渋谷のヒカリエにいきました
待ち時間があったのでちょっと写真をとりました


オリンピック会場が見えた・・・

ああ・・・着々と作らているのね

こんな景色がきれいな所だと仕事に手が付けられないような・・・
うちの会社は3階なので景色とか全然ないから
仕事が捗るね(笑)

都会はゴミゴミしているけど上から見ると爽快感があるね
夜だともっと綺麗なんだろうな〜

千葉のモノレールはカラフルだな

千葉駅に遊びに行ったのですが
その時にモノレールを乗ったのですが
駅メモのキャンペーンをおこなっていた

モノレールにラッピングしていて
ついつい撮ってしまった

モノレールから外を見ることはできるので
面白いつくりなっていた


駅メモ以外でもラッピングしているようなので
広告としていい感じですな

千葉のモノレールは2車両しかないので簡単なのかな??
ほとんどの車両にラッピングがされていた

puppeteerでイメージダウンロード

node.jsのスクレイピングといえばcheerio-httpcliでした
このモジュールは便利で画像の一括ダウンロードとかもできた

f:id:masalib:20180426213826j:plain

puppeteerはあまりダウンロードについては記載がなかった
いろいろ調べたらできた

ダウンロードすべきタグ(セレクター)がわかっている場合と
わからなくて兎にも角にも一括ダウンロードするやり方があるみたい

ダウンロードすべきタグ(セレクター)がわかっている時

const puppeteer = require('puppeteer');
const fs = require('fs');

(async () => {
  const browser = await puppeteer.launch({
    headless: false,
    ignoreHTTPSErrors : true ,
  });
  const page = await browser.newPage();
  page.setViewport({ width: 1280, height: 926 });

  targetSelector = '#box2-inner > div.hatena-module.hatena-module-profile > div.hatena-module-body > a > img';

  await page.goto('http://masalib.hatenablog.com/');
  await page.waitForSelector(targetSelector);

  // Select the #svg img element and save the screenshot.
  const svgImage = await page.$(targetSelector);
  await svgImage.screenshot({
    path: 'Download/downimage.jpg',
    omitBac	kground: true,
  });
  await browser.close();
})();

わからないので一括ダウンロードする時

const fs = require('fs');
const puppeteer = require('puppeteer');

(async () => {
  const browser = await puppeteer.launch();
  const page = await browser.newPage();
  page.setViewport({ width: 1280, height: 926 });

  let counter = 0;
  page.on('response', async (response) => {
    const matches = /.*\.(jpg|png|svg|gif)$/.exec(response.url());
    if (matches && (matches.length === 2)) {
      const extension = matches[1];
      const buffer = await response.buffer();
      fs.writeFileSync(`Download/image-${counter}.${extension}`, buffer, 'base64');
      counter += 1;
    }
  });

  await page.goto('http://masalib.hatenablog.com/');
  await page.waitFor(10000);

  await browser.close();
})();

responseからURLを特定してダウンロードすることができるようになった
次はSPA(シングルページアプリケーション)での画像をとれるようにしたい
これができればインスタグラムの可愛い猫画像が大量にゲットできる