puppeteerでtorを使用して匿名スクレイピング(ubuntu)

衝動的に日本酒をたくさん買ってみた。
どうも、伊藤くんです。

さて今回は、puppeteerでプロキシとしてtorを使用してみましょうっていうお話です。torを使うことでIPアドレスをコロコロ変えたりと、匿名な感じでスクレイピングをすることができます。
ubuntuでやってます。

torインストール

$ sudo apt install tor

以上。

tor起動

$ sudo systemctl start tor

以上。

てかインストールした段階で起動されてた気がしなくもないです。

起動されてるかの確認は

$ ss -nap | grep :9050

でなんか表示されれば起動してますって感じです。言い忘れていましたがデフォルトでは9050番ポートで起動されるわけですね。

ちなみに止めたい時は起動のコマンドのstartのとこをstopにするだけです。

参考:https://orebibou.com/2017/07/ubuntu-server-16-04-ltscentos-7%E3%81%ABtor%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%97%E3%81%A6tor%E7%B5%8C%E7%94%B1%E3%81%A7curl%E3%82%84wget%E3%82%92%E4%BD%BF%E7%94%A8/

puppeteerでプロキシとして設定

これも簡単で、Browserインスタンスを作成するlaunchメソッドで以下のように指定するだけです。

const browser = await puppeteer.launch({
args: [
'--proxy-server=socks5://127.0.0.1:9050' // torをプロキシとして設定
]
});

socks5とはなんなのか、とか正直伊藤くんは理解しておりません。

torの色んな設定(torrc)

torrcというtorの設定ファイルを編集することで、匿名性をあげたり速度をあげたりできます。一概には言えないのでしょうが、基本的に匿名制を速度は反比例するので、どっちかを犠牲にしてどっちかを向上させたい!っていう時とかにこの設定ファイルを編集します。

ubuntuでは、/etc/tor/torrc にあります。

各項目の役割は、以下のサイトで確認できます。
https://2019.www.torproject.org/docs/tor-manual.html.en

ExcludeNodes , EntryNodes , ExitNodes , NumEntryGuards あたりは編集することが多いです。

参考:https://blog.goo.ne.jp/r23j/e/a9c0138dbb368ff01222a6a14d9ed28b

さいごに

参考サイトにもあるように、tor経由でマルウェアが入ってきたりなんてこともあるそうです。十分ご注意ください。

あと、悪いことには使わないように!でお願いします(お決まり)

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です