はてなキーワード: スクレイピングとは
ヤフーに出る。
いささかも驚かない。
これが日本のリベラルフェミやジェンダー平等、人権、包摂の正体。
(続)
暇空茜
@himasoraakane
村木厚子さんが副会長(ほんとどこにでもいるな)の農福連携協会で障害者雇用のソーラーパネルを推してる
https://maff.go.jp/j/shokusan/renewable/energy/einou.html
そらゆりこ逆らえんわ
最終更新
https://twitter.com/himasoraakane/status/1615046771948015616
藤原💰かみら🦙S耐2022 RED SEED Audi R8 LMS GT4🦊⛩️
@Racer_Kamira
·
(続)
暇空茜
@himasoraakane
村木厚子さんが副会長(ほんとどこにでもいるな)の農福連携協会で障害者雇用のソーラーパネルを推してる
https://maff.go.jp/j/shokusan/renewable/energy/einou.html
そらゆりこ逆らえんわ
藤原💰かみら🦙S耐2022 RED SEED Audi R8 LMS GT4🦊⛩️
@Racer_Kamira
(続)
藤原💰かみら🦙S耐2022 RED SEED Audi R8 LMS GT4🦊⛩️
@Racer_Kamira
(続)
藤原💰かみら🦙S耐2022 RED SEED Audi R8 LMS GT4🦊⛩️
@Racer_Kamira
怖くはない。
お飾りで雇ってないか。
増田を全削除するのであればPower Automation DesktopかSelenium IDEあたりでも使えば可能ですが、中にはブクマを集めた珠玉の増田やブクマは付かなくても割と気に入ってる増田もあるので全削除はしたくありませんでした。
Masuda Deleter
https://github.com/oribeolive/masuda-deleter/
Masuda DeleterはDockerコンテナに環境を作って動くのでDockerが必要です。
M1 Macで動作していますがWindowsは検証できるマシンが手元にないので動作未確認です。
インストールはGitHubのREADMEに書かれたコマンドを実行すればできると思います。
Masuda Deleterははてラボにログインして指定されたページ分の自分の増田の投稿をスクレイピングしてローカルのDBに保存します。
取得された投稿のリストがブラウザで見られるので、そこで削除するものを選んで実行すると、またログインして投稿を削除しにいきます。
ページのアクセスごとに読み込みと遠慮のために1秒から数秒sleepするので少し時間がかかります。
一旦投稿をローカルに保存するという過程があるため副作用として自分の投稿を検索できます。
これにより
が容易になります。
増田にはAPIがないので、IDとパスワードを使ってログインして、表示されている文章をスクレイピングしてくるという原始的なやり方になります。
(2回目からはcookieがある場合はcookieを復元してログイン状態になります。)
ユーザーが知らない外部サイトにクレデンシャルを渡すのは危険であり、サービス運営側としてもパスワードを平文で持ちたくないので、Webサービスとして実装せずセルフサービスとしております。
ユーザーによってローカルの.envファイルに書かれたIDとパスワードを使用する形です。
ソースをオープンしておりますので怪しいことをしていないかも確認ができるかと思います。
一応下にプログレスバーが出ますが、ページ遷移すると見られなくなります。進捗は進捗管理でも確認できます。
取得された投稿はリアルタイムで画面に反映されないのでブラウザをリロードしてください。
増田のID、タイトル、本文の省略、投稿日時、ブクマ数、トラバ数が表示されます。
「あとで消す」投稿をチェックし、「あとで消す」記事をついに消すボタンで削除を実行します。
チェックは別のページに遷移しても有効です。
こちらは実行した時点で表示されているページのみリアルタイムに画面に反映されます。
投稿の全文を見られます。タグ等は取得しないのでテキストのみになります。
投稿を個別に取得してローカルの文章とブクマ数とトラバ数を更新します。
対象の投稿のタイトルを空に、本文をスペース1文字にしにいきます。
処理の進捗(何件中何件処理済みか)を見ることと、処理を停止させることができます。
排他処理(取込と取込、特定IDの削除と同じIDの削除等)にしているので動いていなそうな処理を停止して再度処理を実行するときに使います。
停止する場合は停止ボタンを押すか、それでも停止しそうにない場合は強制停止ボタンを押してください。
「停止」は今行っている最中の処理ではなく次以降の処理を停止するという形になります。
停止ボタンを押したときに4ページ目を取得している場合は、5ページ目の取得を始める前に処理を終了することになります。
そのためプロセスそのものが止まっている場合は停止されません。
「強制停止」はプロセスをkillします。スクリプト名とプロセスIDでプロセスを検索して子プロセスも含めてkillします。
おまけとして、投稿日とブクマ数、投稿日と3ブクマ以上の投稿の件数、投稿時間(hour)ごとの1ブクマ以上の投稿の件数のグラフが見られます。
ブクマが付いた瞬間ではなく投稿日時なので、いつの時期に投稿した、何時に投稿した増田が活きが良いのかを見られる程度です。
集計データを別に持っていないので増田を削除するとグラフに使用されるデータも消えます。
私はこれで多いときには4000件程度あった増田を3000件程度に減らしました。
これを開発する前からも増え続ける増田の削除に日々勤しんでいたので総数はもっと多いはず。
まだまだ削除したいです。
たまに
Message: unknown error: net::ERR_CONNECTION_CLOSED
というSeleniumのエラーが出て処理が実行されないことがあります。再度実行してください。
フロントエンドがレガシーなのでMasuda Deleterの開発に飽きていなければもう少しモダンにリプレースしようと思っています。
使用していないDjango REST frameworkがrequirements.txtに入っているのはその名残です。
Webスクレイピングツールは一般であまり認知されていないが、Webを中心としたIT界隈では常識的なツールであり、端的に言えば登録したWebページを巡回し更新を監視するツールである。
似たようなものにRSSやAtomフィードリーダーなどが存在するものの、Webスクレイピングツールの業界共通認識としては、監視するWebページにRSSやAtomフィードが無くともWebページ情報の差異を過去と現在で計算し、変更の閾値を超えたWebページの更新を通知し、そして保存できるというものである。
変更の閾値という処理が挟まれる理由として、広告などを代表例にWebページ閲覧時の更新の度に変化する可能性があるため1%でも更新が通知されると更新の通知が膨大となるため些細な変更を無視するためだ。
もしWebスクレイピングツールで更新されているページにPDFやJPEGなどのバイナリファイルが存在したとしても、PDFやJPEGなどのバイナリファイルが存在したとき多くの場合Diffと呼ばれる差分検出ツールを用いてバイナリファイル単位で変更があったかどうかを監視している。
Colaboなど現代の多くの団体はWebを活用して運営されているため情報をWebを介して告知するので、暇空茜応援団はそれを逆手に取り情報更新を監視している。
暇空茜応援団が即座にWeb情報の更新へ反応するのはこういった背景があるのだ。
逆に言えばWebページの更新を秒間で行うなど更新通知を飽和させるカウンターなどを想定できるが、閾値を変えればその様なカウンター手法を無視できるため意味がないし、特定のキーワードだけ抽出することも可能なので無駄なリソースとなるため無駄であると忠告しておきたい。
Stable Diffusionは23億枚の画像を学習したっていうのだけど、使っているとクオリティが低い画像が大量に生成される。
自分が書いたプロンプトが悪くて、内部のベクトルが散らばってしまっている可能性はあるのだけど、使用感はStyleGANに近い。
大量に画像学習しているはずだけど、2枚の画像を合成してる感じ。
seedを固定してtext2imgすると元絵っぽいのがなんとなくわかるのだけど、構図が元絵に引っ張られる。
Midjourneyの方だとわりと適当に入れても「凄い」ってなるし、
〇〇をモチーフにと2つ組み合わせれると意外性も含めて画像を出力してくれる。
(もちろんデータセット側で低レベルなのはaestheticで切っているのだろうけど)
イラストレーターの仕事がなくなる!って吹き上がっている人が多くてなんだかなあというところがある
そもそも、例えばAIがイラストを完璧に新しく自分の絵柄を元に生成できたとして、それに対して上がってきたものの「善し悪し」ってAIが判定するの?
クライアントがジャッジしてもいいけど、クライアントがいかに自分自身の要望すら把握していないかっていうの、一番わかっているのイラストレーター自身だろ。
「いやクライアントはあほだから、それっぽい絵が上がってきたらそれでOKってなるよ」みたいな話をするイラストレーターがいたとしたら、じゃあアホに対してしか仕事できねえ自分を恨んでくれ。逆にそのレベルのクライアントはじけるの、買いたたきとかするやつらばっかだからプラスになるんじゃねえか?
イラストレーターの仕事が単純に既存の絵にならってそれっぽい絵柄を描くだけの仕事なら確かにAIに仕事を奪われるんだけど、イラストレーターの仕事の中には要件定義や要望の汲み取り、文脈やそれに倣った構図、配置というところの指定が入ってくる。これらはAIにとっては現状ひどく困難で、AIというのは言われたことしかできないのであなたの思考をくみ取ることは現状残念ながらできないし、それっぽい文言を生成するのすら、素人には難しいだろう
また、AIが生成してきた絵があったとして、それが本当に案件に合致するか?というジャッジは素人には無理である。
それを細かく修正することも、どこが悪くてどこがよいのか、という判定を下す人間が適切に対処しないと無理なのだ。AIは言われたことしかいまだできないのである
だから、「審美眼を持ち、顧客の要件を読み取り、自分の画風としてイラストを描けてあげられる」というイラストレーター然とした人間は、まだまだ生き残ると思うよ
まあ、デジタル絵というものは学習されやすくなるが、今後もリアルな版画や絵画の価値は減衰はしないだろうっていうのもあるしね(むしろ価値が上がりそう)
というわけで、ここまでは理屈の話でイラストレーターの仕事はなくならないって話なんだけど、今TwitterにてこういったAI禁止を唱えている人々は単純に「自分の絵を勝手に使って絵を作られることの拒否感」というお気持ちレベルの話で吹き上がっている。その人たちに言い換えると「モラル」の話である
これに関しては本当にくそくだらないと思うんだけど、お前たちのその絵柄はpixivやTwitterで上がってきている有象無象の絵から一切影響を受けなかったのか?
Twitterという公共の場で流れてくる二次創作を一切享受しなかったの?それと機械の間にどれくらいの差があるの?人間が温かみをもって集めているのと機械が文字通り機械的に集めていることの差は何?
それを知らない第三者に転用されるのが嫌!っていう人はインターネットに作品を上げない方がいいという話になるしかない。インターネットとは、上げた瞬間にどこか知らない場所で再利用されているしスクレイピングされているし、集めている当事者ですら、集めているということを検知しないまま集めていることもままある
また、対策として、透かしを入れたところで最近はその透かしを取るAI技術それ自体が発達していっているので早晩意味がなくなるだろう
悪意を持ったやつを想定してサービス作れよ!っていうけど、そもそもより悪意をもってサービスを作るやつの方がインターネットは強いので意味がなくなるし、そちらに流れるだけである
それに「自分の絵柄が模倣される!」と言っている人間の中の何人が「まったくオリジナルな絵柄」を獲得しているのだろうか。
少なくともアニメ調で描いている時点でそれオリジナルではなくないか?自分の絵柄が既存の絵とどう違うのかって説明できるやつ何人いるんだ?
なにより一番くだらねえと思おうのは上記の主張をしているやつらのなかで二次創作メインでやってるやつらが多くいることが、本当に、本当に、くだらない
機械学習が絵柄を取ることを心配する前にまず他人の作品に乗っかって創作するのやめろよって言いたい
こういった人間の心理は「絵が描ける」って単なる技能でしかないものをアイデンティティとした末路だと思うので、別のところにアイデンティティ確保したら?と思ってしまう。絵が描ける+シチュエーションのような形で
どのみち、この人たちが求めている法整備したら二次創作も死ぬだろうし、法律の要件組むだけでも結構いろんなところに気をつけないと、AIを禁止するよりもっと大きなところに影響が波及しかねないので、おそらく今後10年くらいは法律整備できねえだろうなあという気持ちはある。法というのはそういうものである
まあ、このお気持ち自体は新しい技術が出てきた時の古い職人たちのアレルギー反応のようなものなので、粛々と慣れるまで時間をおくしかないのだろうなあというのを様々な記事のコメントを見て感じる次第だった
初心者はPythonから始めましょう。やりたいことはPythonでだいたいできます。世界で一番人気の言語で資産も豊富にあります。低学歴の素人がなんと言おうとPythonです。Pythonを覚えるのです。簡単なので1日あれば覚えられるでしょう。
次にSQLを勉強しましょう。SQLは3日くらいあれば中級者になれるでしょう。現代のデータベースはだいたいSQLかそれのパチモンが備わっています。SQLができると仕事の幅が広がるでしょう。
そしてJavaScriptは勉強しておきましょう。Webブラウザは全部JavaScriptが動きます。JavaScriptを勉強することでWebページで遊ぶことができるようになります。スクレイピングなどの理解も深まります。JavaScriptは便利です。
さて、ここまで来たら仕事に必要なプログラミングは身についているので次に進む必要は無いです。コンピュータの気持ちを理解するためにはC言語をかじってみるのもいいでしょう。大企業で働きたいならJavaは必須です。型に興味を持ったらOCamlやHaskellに手を出してみても良いでしょう。システムプログラミングをしたいならGoやRustも良いです。Goはバカみたいに簡単ですがRustは初心者向きではないです。