pythonでプログラミング始めるわ

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2022/02/03(木) 03:10:09.81ID:9Bu5b3Fo
目標:エロ画像収集を半自動化して楽にする

0002デフォルトの名無しさん2022/02/03(木) 03:15:08.06ID:9Bu5b3Fo
1 ブラウザの拡張機能を作って、画像を数回の操作でダウンロードできるようにする
javascriptわかんないからこれは多分むり

2 pythonでwebスクレイピングしてその画像に付けられたタグや、作者、アップロード日などの情報を取得する

3 ファイル管理ソフトに画像を取り込んで2で得た情報を自動で登録する

0003デフォルトの名無しさん2022/02/03(木) 03:23:31.96ID:9Bu5b3Fo
管理ソフトにはeagleを使う
画像1枚ずつにjsonが用意されてタグとかを記述する方式

おおまかな計画は出来たし勉強すればいけるやろ
がんばるわ励ましてくれ

0004デフォルトの名無しさん2022/02/03(木) 03:24:46.26ID:9Bu5b3Fo
まずはpythonをインストールするわよオホホホホ

0005デフォルトの名無しさん2022/02/03(木) 03:35:47.06ID:9Bu5b3Fo
・懸念事項
画像を管理ソフトに自動取り込みしてメタデータを保存する辺りがムズそう

jsonに記述されるメタデータには画像ごとのidが含まれてるけどその生成方法とか色々わからん
だから自前のプログラムをこさえて自動登録することは難しそう
指定したフォルダ内の画像を随時自動で取り込む機能が管理ソフトにあるからそれを使うことを今の所想定している

0006デフォルトの名無しさん2022/02/03(木) 03:43:27.27ID:9Bu5b3Fo
しかもソフトは取り込み元の画像の現物ではなく、複製したものを参照してる
スクレイピングで取得したメタデータを書き込む相手をどうやって見つけるのかわからん

0007デフォルトの名無しさん2022/02/03(木) 03:46:34.92ID:9Bu5b3Fo
画像を取り込んで複製するときはファイル名を引き継がずによーわからん文字列にされるから簡単に特定できる方法がない
元ファイルの作成日時もメタデータに書かれてたような気がするがそれでいけるか?

0008デフォルトの名無しさん2022/02/03(木) 20:39:51.02ID:0ush6C9t
収集してる時が一番楽しい

0009デフォルトの名無しさん2022/02/04(金) 22:36:41.05ID:MwWgLKiA
>>1乙Python
以下クソスレ立てるな禁止

0010デフォルトの名無しさん2022/02/05(土) 01:49:38.80ID:HZdxa+ji
コマンドプロンプトのフォント変えようとしたら途中でフォントを消せなくなったりしてめっちゃ苦労した

0011デフォルトの名無しさん2022/02/05(土) 02:10:37.05ID:YRaOYkmO
進展
eagleが扱ってるjsonのメタデータを外から勝手に書き換えられるか実験した

1つ目はライブラリ全体のタグリストのデータに付け足してみてどうなるか。ソフトを起動してリストを表示しても増えてなかったけど、画像にタグ付けをするときの入力予想のとこきは表示されてた。今まで使ったことが無いタグを登録するときだけは手動で操作が必要かも?
2つ目に各画像のタグを増やしてみた。これはちゃんと反映してくれた。これで外部から操作できるとわかった。よかった
ただ不安なのが、ソフトを起動してからjsonファイルを見直してみるとタグの順番が入れ替わってたりすること。調べたら配列の要素の順番は保証されないとか書いてあるから杞憂かもしれんがよくわからんから保留

0012デフォルトの名無しさん2022/02/05(土) 02:20:40.44ID:YRaOYkmO
eagleに画像を取り込んだときファイル名が勝手に書き換えられると思い込んでたけど昨日確認してみたらそんなことなかった
ソースの画像と複製された画像2つをtxtにしてexcelで文字列の比較をしたが完全に一致てたわ。画像自体には一切手を加えずメタデータだけに書き込む可能性が高い

0013デフォルトの名無しさん2022/02/05(土) 02:29:35.89ID:YRaOYkmO
スクレイピングのこととか機械学習のこととかちょこっとだけ載ってる入門書勝手にパラパラめくってみたけど後半何が書いてあるのかさっぱりわからんな
なんか単語がドット.で繋がってる文がexcelのvbaみたいでムズそう
関数なのか変数なのかよくわからんやつ〜〜

0014デフォルトの名無しさん2022/02/05(土) 23:23:00.34ID:LZaEgHFB
入門書は読み終わっても入門できるだけだぞ?w

0015デフォルトの名無しさん2022/02/06(日) 02:19:09.22ID:Lln9rsbc
門をくぐらせてくれるなら十分よ
まだ「たのもー!!」って言ったばかりなんだから

0016デフォルトの名無しさん2022/02/11(金) 20:13:55.20ID:ICBOazix
本の応用編以外はとりま一周終わったからtkinterいじってみてる
テトリス作ろうとしてる
たのち

0017デフォルトの名無しさん2022/02/11(金) 22:50:44.46ID:Lg8I1vzk
tkinter触り終わったら次はpyqtであそぼ
面白いよこれ

0018デフォルトの名無しさん2022/02/13(日) 13:27:39.73ID:SIXnP5qn
ちゃんとrobots.txt確認しろよ

0019デフォルトの名無しさん2022/02/16(水) 21:13:49.58ID:k+9M0Nsk
テトリス制作中々進まん
いきなり自力で作るのはさすがに身の程知らずだったわ
ブロックが埋まった行を消去するはずなのにその上側全部も消されてまうから笑うわ

0020デフォルトの名無しさん2022/02/16(水) 21:59:54.20ID:k+9M0Nsk
eagle(ファイル管理ソフト)に画像を自動で登録するのも自前でプログラム作らないと行けないと思いこんでたが今調べたら公式APIがあるっぽいわ
無いものと勝手に思い込んでたこのばかちんめ
これならだいぶ楽になるわありがてー

0021デフォルトの名無しさん2022/02/16(水) 22:15:22.30ID:k+9M0Nsk
python内でjsを直接実行するライブラリも調べたけど色々ムズそう
pythonとの間にjsonをかませて、apiの実行はhtml内にスクリプト書くことにするわ
jsonの読み書きくらいなら流石にできるだろ

pythonでwebスクレイピングして、画像のurl・タイトル・タグ等を取得
↓書き込み
自前のjsonファイル(eagleが扱うメタデータとは別物)
↓読み込み
index.htmlでapi実行

これでいけるんちゃうか?

0022デフォルトの名無しさん2022/02/16(水) 22:30:18.30ID:k+9M0Nsk
最初に書くはずなのに忘れてたわ。apiはjavascriptで実行するっぽい
httpリクエストが送れればどんな方法でもいいのかもしれないけど、サンプルコードをパクんないと自分には無理だ

https://api.eagle.cool/item/add-from-urls

0023デフォルトの名無しさん2022/02/17(木) 00:09:13.25ID:U/Ab4M74
>>22
Javascriptはfetchのためだけなので、pythonだけでもurllibとjsonで実現できるんじゃない?

0024デフォルトの名無しさん2022/02/17(木) 01:59:24.96ID:7YiBd8T+
>>23 できました!!
言語間でデータ型をどうすり合わせるのかとか全くわからなくて不安だったけど、ライブラリが強力だから楽ちんだ……
助かったm(_ _)m感謝

https://i.imgur.com/qf6YFsJ.jpg

0025デフォルトの名無しさん2022/02/17(木) 07:40:44.24ID:CXnnYl5F
ランサーズでパイソンを納品する方法についてです
私はターミナルを使って実行しているのですが、納品する場合はどのようにしたらいいですか

0026デフォルトの名無しさん2022/02/17(木) 16:53:53.10ID:wmWnke54
それって取引先に聞いたほうがいいんじゃね
わしゃニートだからわからんが、.pyのままソースコードを提出したりpyinstallerで実行ファイルにまとめたりとかを指定されるもんじゃないの?

0027デフォルトの名無しさん2022/02/20(日) 00:46:02.93ID:fpsjVmPD
requestsとBeautifulSoupでデータをゲットして管理ソフトに登録するまでの自動化に成功した
まだ1つのサイトでしかできないが他に応用するのはそこまで苦労しないっしょ
イエイ

0028デフォルトの名無しさん2022/02/20(日) 01:00:06.85ID:fpsjVmPD
本当にムズイのはここからだぁ
javascruptで拡張機能作りたいし
あとはタグのリストを作ってサイト間で同音異義語になってるものをまとめたり、要らないものを捨てたりしたい
アカウントのログイン、フォロー新着チェックとかも
うわあ

0029デフォルトの名無しさん2022/03/05(土) 03:15:29.01ID:H8E+9Ud2
chromeの拡張機能の作り方わけわからん
ヒーヒー言いながら日本語で解説してくれてるサイトと公式リファレンスをメモしてやっと概要が掴めてきた
明日から少しずつ作ってく

0030デフォルトの名無しさん2022/03/05(土) 03:51:36.05ID:H8E+9Ud2
表示中のサイトにDOM操作をするスクリプトと、ストレージに書き込んだりとか高度な処理をするスクリプトを分離してやり取りせなあかんらしい。そのイベント処理がまだイマイチわからぬ

A(イベント発生)→B(コールバック)とC→Bみたいに複数の種類の通信をしたいとき、指定した送り主と受け取り側を一対一に繫げる記述とか無いの「かも」しれん
addListenerメソッドが沢山あったらイベントが起きるたびに全部動くってこと???ひぃぃ
各コールバック関数の中で最初にイベントの内容を確認して、人違いなら即returnすりゃいいの?sendMessageメソッド側が受け取るレスポンスはどうなんの?nullを沢山受け取るの?ひぃぃ

0031デフォルトの名無しさん2022/03/05(土) 04:36:06.19ID:WF/cHs1f
addListener1個置いて中で場合分けすりゃええんじゃね

0032デフォルトの名無しさん2022/03/05(土) 17:02:39.61ID:5r5ZrDak
なるへそ、出来るかどうか調べてみるわ
サンキュ

0033デフォルトの名無しさん2022/03/05(土) 17:31:07.50ID:H8E+9Ud2
connectっていうメソッド名で長期的にやり取りできるやつがあるっぽいがこれ良さそうポート名を設定して、送受信が一対一に結ばれるっぽい

0034デフォルトの名無しさん2022/03/08(火) 00:12:11.64ID:rJoBOrbq
イベントリスナーが複数のjsファイルにあって1つにまとめられないときは全てが発火して最初に帰ってきたリスポンスだけ受け取るらしい
……わからん ヘ(。□°)ヘ

https://developer.chrome.com/docs/extensions/mv3/messaging/#simple

0035デフォルトの名無しさん2022/03/08(火) 00:35:47.67ID:rJoBOrbq
2つのファイルに1つずつイベントリスナーを設置して実験

アクセス中のページに適応するdom操作向けのスクリプト(content script)でボタンを配置

ブラウザ右上の拡張機能アイコンを押したときのポップアップページ(action)と、API全盛りの処理任せ役スクリプト(background)にそれぞれイベントリスナー

結果 : ポップアップを開いてるときしかactionのスクリプトは動作しないっぽい
開いてるときはactionとbackgroudの両方ともちゃんとイベントを受け取ってるけど、何故かレスポンスは必ずactionから帰ってくる
actionに無駄なfor分加えて処理遅らせようとしても変わらない

……???更に謎が深まった……

0036デフォルトの名無しさん2022/05/01(日) 00:52:47.91ID:y/JjfE+d
おひさ
この二ヶ月間ろくに進まなかった

0037デフォルトの名無しさん2022/05/01(日) 01:02:20.67ID:y/JjfE+d
chrome拡張機能ムズいわ。特にファイル周り
デフォルトのダウンロード先の設定を無視して特定の場所に保存したり、その日集めた分のデータを単一のファイルにまとめたりしたいができましぇん

のでDjangoでローカルサーバーこさえて仕事を任せられないか試して見る
こっちはこっちでムズいが日本語の解説が豊富だからありがてぇ

0038デフォルトの名無しさん2022/05/10(火) 10:12:54.32ID:59eDANbA
そりゃブラウザで好き勝手に出来たらヤバいやんw

0039デフォルトの名無しさん2023/09/01(金) 19:09:09.58ID:oVgCtGp1
最近、友達との会話が楽しすぎる!

■ このスレッドは過去ログ倉庫に格納されています