#意識低いけどスクレイピングがしたい!
久しぶりにやる気がでてきて、ちょっと情報サイトでも作って遊ぼうと思ってるんですね
ほんでデータ集めるためにスクレイピングしよっかなって
意識高いサイトはスクレイピング対策してて困る!
意識が低いので基本 file_get_contents とか curl とかで雑にやっちゃうけど
なんかヘッダいじったりしてもうまいこといかないとかある
意識高いことはしたくない!
しょうがないので別の方法でやるかーってなったんですけど
seleniumみたいな大がかりなことしたくないわけ
意識低民の味方 tampermonkey
そこで chrome版 greasemonkey こと tampermonkey の出番だぜ!(意識が低いので今日知った)
くわしくはこのへんみてね
https://www.lisz-works.com/entry/chrome-tampermonkey
あとダウンロードの自動化については以下を参考にしました ありがとうございます
https://tks-kan.com/2016/08/25/154/
// ==UserScript==
// @name download
// @namespace http://tampermonkey.net/
// @version 0.1
// @description try to take over the world!
// @author You
// @match https://動かしたいサイト.com/*
// @grant none
// @require https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js
// ==/UserScript==
(function() {
'use strict';
// どん詰まりになったらとめる
if ($('.hosiikontentu').length == 0) {
return false;
}
var sspage = new XMLSerializer().serializeToString(document);
var blob = new Blob([sspage], { "type" : "text/html" });
var url = window.URL;
var bloburl = url.createObjectURL(blob);
// わにゃわにゃしてダウンロードファイル名をつくる
var filename = hogefuga();
// 新たにaタグを作成してダウンロード
var a = document.createElement('a');
a.download = filename;
a.href = bloburl;
a.click();
// サーバにやさしく
setTimeout(next, 5000);
})();
function next () {
// なんだか次のURLを作る
var newUrl = higehage();
window.location = newUrl;
}
ちなみに chrome は最近はダウンロード時にダウンロード場所を選ぶダイアログが出るのがデフォなんで設定でオフにできるよ!