ウェブスクレイピングのプログラムやるぞ

サムネイル
1 : 2022/12/23(金) 18:14:45.406 ID:pE5umMzO0
色々考えるぞ
2 : 2022/12/23(金) 18:15:12.309 ID:pE5umMzO0
Twitterの自動フォローとか5chへの自動書き込みとか考える
3 : 2022/12/23(金) 18:16:07.069 ID:pE5umMzO0
Twitterの場合、Twitter APIを使ったら自動化してるのバレバレだから
スクレイピングした方が規制されにくいんじゃ…?と思ったけどどうなの
4 : 2022/12/23(金) 18:16:12.091 ID:Gu+CKkRx0
ぴちょん?
5 : 2022/12/23(金) 18:18:03.112 ID:pE5umMzO0
基本的にはPythonだね
TSでもRustでもいいけどリクエストはともかくスクレイピングのやり方しらないし
6 : 2022/12/23(金) 18:18:24.252 ID:pE5umMzO0
PythonでスクレイピングといったらSelenium
7 : 2022/12/23(金) 18:19:37.303 ID:pE5umMzO0
5chもただリクエスト投げるだけだとヘッダとかUAの不備ではじかれるからスクレイピングの方が良いと思う
8 : 2022/12/23(金) 18:21:05.258 ID:pE5umMzO0
仮にいま弾かれなくても時間の経過とともにUAが古くなって弾かれたり5chの仕様変更で弾かれたり…
かつて俺がつくったスクリプトももう動かないしな
9 : 2022/12/23(金) 18:21:14.467 ID:6ZeRQUdNd
規約違反です残念
10 : 2022/12/23(金) 18:22:52.087 ID:pE5umMzO0
そんなん知ってるわ
11 : 2022/12/23(金) 18:23:02.669 ID:pE5umMzO0
以下にバレないようにやるかだよ
12 : 2022/12/23(金) 18:23:43.583 ID:8kBxbkFla
すクレビンってなんだ?
13 : 2022/12/23(金) 18:24:42.766 ID:pE5umMzO0
>>12
ウェブブラウザをプログラムから操作して情報を抜き取ったりリクエストを投げたりする
14 : 2022/12/23(金) 18:26:16.934 ID:8kBxbkFla
面白そう
16 : 2022/12/23(金) 18:28:23.727 ID:pE5umMzO0
>>14
いうほど面白くないよ
初心者はセキュリティやウェブスクレイピングなんかより普通のウェブをやったほうが100倍楽しい
俺はTwitterのフォロワーを増やしたいから仕方なくやる
15 : 2022/12/23(金) 18:27:19.140 ID:pE5umMzO0
今の所クラウド上でスクレイピングのプログラムを動かすことを想定してて、メモリ使用量が多すぎると金がかかってしまうので
Pythonプログラムのメモリ使用量を常に監視しなければならない

その方法を調べた
https://www.haya-programming.com/entry/2019/07/16/230227

import os, psutil

process = psutil.Process(os.getpid())
process.memory_info.rss # メモリ使用量(Byte)

かんたん

17 : 2022/12/23(金) 18:30:21.947 ID:pE5umMzO0
>>> import os, psutil
>>> process = psutil.Process(os.getpid())
>>> process.memory_info().rss
20082688

ただREPLを起動しただけで20MB以上メモリを食ってる
これにSeleniumを載っけたらどうなるのか…

18 : 2022/12/23(金) 18:32:31.271 ID:pE5umMzO0
>>> from selenium import webdriver
>>> driver = webdriver.Chrome()
>>> process.memory_info().rss
31748096

31MBちょっと
これなら大丈夫かな

19 : 2022/12/23(金) 18:36:48.486 ID:pE5umMzO0
Python自体は31MBだけどChromeは別プロセスで動いてるなこれ
ちなみにChromeは34MB
時間経過とともにメモリが肥大したらアウト
20 : 2022/12/23(金) 18:39:34.699 ID:pE5umMzO0
まずはクラウド上に5chに勝手に書き込むアプリをデプロイしよう
21 : 2022/12/23(金) 18:39:47.630 ID:pE5umMzO0
Twitterの方がUIが複雑なのでね
22 : 2022/12/23(金) 18:41:16.258 ID:ylLwt5SkH
有料の自動テストツールで作り出したらseleniumに戻れなくなった
24 : 2022/12/23(金) 18:41:47.623 ID:pE5umMzO0
>>22
テストしたいわけじゃないからどうでもいい
26 : 2022/12/23(金) 18:44:32.942 ID:ylLwt5SkH
>>24
スクレイパーとして使ってるよ
28 : 2022/12/23(金) 18:45:57.498 ID:pE5umMzO0
>>26
俺は金ねンだわ
23 : 2022/12/23(金) 18:41:24.580 ID:pE5umMzO0
当然ながらこのアプリは外部から操作出来たほうがいい
リクエストを受けられるようにFlaskを導入すべきか…
25 : 2022/12/23(金) 18:42:59.007 ID:w80LVkKE0
昔フリマサイトの商品がまだ売ってるか監視するの作って無在庫転売してた
27 : 2022/12/23(金) 18:45:23.384 ID:pE5umMzO0
>>25
在庫なしで転売なんてあるんだ、初めて知ったわ
かしこいな
29 : 2022/12/23(金) 18:52:34.536 ID:pE5umMzO0
とりあえずこのスレに書き込むプログラムを書いてみるか
30 : 2022/12/23(金) 19:06:19.685 ID:pE5umMzO0
あへあへ
31 : 2022/12/23(金) 19:10:59.264 ID:NrraRAnc0
うへうへ
32 : 2022/12/23(金) 19:17:11.609 ID:pE5umMzO0
cookie消して飛ぶ画面を確認します
33 : 2022/12/23(金) 19:21:13.305 ID:pE5umMzO0
もういっちょ
35 : 2022/12/23(金) 19:37:43.673 ID:pE5umMzO0
書きこみてすつ
36 : 2022/12/23(金) 19:41:12.714 ID:pE5umMzO0
できた
とりあえずUAの偽装で回避したが、UAそのままだと余所エラーが出ちまうな

https://pastebin.pl/view/8e96d4f4

37 : 2022/12/23(金) 19:42:35.620 ID:pE5umMzO0
あと広告を全て読み込むまでページの遷移ができないというのも無駄
38 : 2022/12/23(金) 19:44:32.063 ID:pE5umMzO0
Cookieのセットもしてないしな
別のところでsession idを貰ってきてCookieにセットしたとしても、expireするたびに再度別の所から貰ってくる必要が出てしまうので何とか自力で通りたいところ
39 : 2022/12/23(金) 20:02:40.284 ID:pE5umMzO0
pypiにあるlatest-user-agentsが良さそうだな
これぶち込むか
42 : 2022/12/23(金) 20:23:34.059 ID:pE5umMzO0
以下に対応した

– UAの自動偽装 (latest-user-agentsを利用)
– 広告の読み込みをスキップ (DesiredCapabilitiesとWebDriverWaitを併用)

コメント

PAGE TOP
タイトルとURLをコピーしました