くだすれPython(超初心者用) その50【まず1嫁】

■ このスレッドは過去ログ倉庫に格納されています
2020/08/27(木) 20:24:10.68ID:WXD9Eu8v
当スレに★Python以外のプログラミング言語での回答類を書くべからず★
派生言語はそれぞれ専スレがあるのでそっち池。
「Ruby」「某言語では」をNGワード登録推奨。荒らしは、完全スルー放置が一番きらいです。

このスレッドは「お勉強」スレのほうには書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を、勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますので、お礼は Python の布教と初心者の救済をお願いします。

★エラーを解決したい場合は、
  表示されてるエラー全文(勝手に省略やスクショうp等の横着クソ行為禁止)と、
  実行環境(Pythonのバージョン・OSとIDEの種類とバージョン)をシッカリ書くこと。

【【【複数の連続半角スペースはなかったことになる・タブがうまく入らない5chの仕様】】】に注意!
Pythonの★ソースコードをそのまま5ちゃんにコピペすると、インデントが崩れてチヌ★ので
  ↓等の、いわゆるコードうp用サイトに貼ってこいください。
ttps://techiedelight.com/compiler/  Run Code機能あり。最近流行中?
ttp://ideone.com/      デフォ設定はC用のため言語選択ボタン押下がピコ手間かも。
ttp://codepad.org/      ほぼ直感的に使える。Run codeボタンあり。
ttp://pastebin.com/     まずまずシンプル。
ttp://dpaste.com/      とてもシンプル。消えるまでの日数は十分長ーく指定のこと。

◇Python公式サイト◇ http://www.python.org/
◇まとめwiki◇ ttp://python.rdy.jp/wiki.cgi

〇前スレ〇 くだすれPython(超初心者用) その49【まず1嫁】
https://mevius.5ch.net/test/read.cgi/tech/1595057607/

次スレは >>985 あたりが挑戦してくだしあ。(980過ぎて自動落ちは、無くなって久しい)
### END OF TEMPLATE ###
2020/08/27(木) 20:49:44.08ID:ygBOOYPT
スクレイピングはpythonとphpどちらが適しているのでしょか?
youtubeの動画を取得して、独自にランク付けしたいです
2020/08/27(木) 21:17:46.77ID:gGJ6aQTr
>>2
= https://mevius.5ch.net/test/read.cgi/tech/1595057607/986
(・∀・)カエレ!!!
2020/08/27(木) 22:04:41.93ID:aZ++Fjs5
>>2
そのレベルでスクレイピングとか100年早い
100年後に質問してくれ
2020/08/27(木) 22:47:37.22ID:/TSJ2nks
>>2
Python
やってる事は裏でseleniumブラウザを立ち上げて
を用意されたapi叩くって事で変わらないんだけど、
文字列の操作がPythonの方が優れてから
2020/08/28(金) 00:38:42.99ID:LEZPXhgF
>>2
スクレイピングに適しているのはJavaScript。
2020/08/28(金) 00:56:10.15ID:eqvlrCYP
確かにpuppeteer楽だね
selenium導入たいへん
2020/08/28(金) 05:54:47.41ID:7ps1QWM6
>>6
嘘ですよね?

>>5
そうしますです
2020/08/28(金) 06:00:04.39ID:7ps1QWM6
>>5
phpのほうが古くから使われてそうですけどね、この分野では
2020/08/28(金) 07:09:53.91ID:7ps1QWM6
rss取得にはpythonとphpどちらがいいのでしょうか?
1つのサイトを構築する場合、どちらか一方に絞ったほうがいいのですか?
2020/08/28(金) 07:40:02.81ID:/eDPNzX9
再び漂うクソ質問者臭
2020/08/28(金) 09:28:51.64ID:Q0CTYRG1
Web系でPython使ったことないんで何か出来ないかなと探したがWebだと別にPython使う必要ないな
2020/08/28(金) 10:12:09.60ID:7ps1QWM6
スクレイピングした結果をサイト上に表示するというものですが、pythonかphpか分からないです。
2020/08/28(金) 10:17:00.64ID:kClMeigf
フォルダをファイル名に と同じ奴?
コテ付けてくれ
15デフォルトの名無しさん
垢版 |
2020/08/28(金) 10:32:29.37ID:LLs1s+XQ
リファレンスじゃなくてチュートリアルのURL貼っといて
リファレンスに描かれてないじゃないか!ってクレーマーω
2020/08/28(金) 11:14:22.43ID:CzRmvnjE
スクレイピングは、Ruby で、Nokogiri, Selenium WebDriver。
driver.execute_script で、JavaScript のコード(文字列)も実行できる

データベースに保存するなら、Rails をそのまま使うのが速い。
Capybara で、Headless Chrome を使う
2020/08/28(金) 12:23:17.68ID:5nZNKLNm
めんどくささここに極まる
2020/08/28(金) 14:39:31.15ID:QbWLWqeS
どんな言語でもweb driverの扱いが違うだけでgoogle driverを操作だかんね
因みにgoogle driverの挙動が安定しいから辛い
2020/08/28(金) 14:40:05.97ID:QbWLWqeS
google driverじゃなくてchrome driverだ
2020/08/28(金) 15:03:45.11ID:uQOAsR20
>>18-19の挙動が不安定な件
もちつけ
> 安定しい
2020/08/28(金) 15:04:21.30ID:uQOAsR20
>>13
Pythonに決めずに
phpへ出てってどーぞ
2020/08/28(金) 20:15:44.66ID:v0Wakv/0
pcでgui組むのに実装が楽で自由度の高いフレームワークって何ですか?
2020/08/28(金) 20:24:15.23ID:h+YcnFF0
そんな相反することを平然と…
2020/08/28(金) 20:38:28.42ID:LEZPXhgF
>>22
HTML/CSSを使ったもの
2020/08/28(金) 20:56:25.22ID:5nZNKLNm
electronかな。VSCodeもこれで作られてる
2020/08/28(金) 20:57:42.63ID:uQOAsR20
>>24に一票w
あとJavaScriptまでならセーフ
2020/08/28(金) 21:17:22.95ID:v0Wakv/0
visualstudio vbやc#の直感的で色々プロパティが揃ってxml形式の似たもの無いかと探してた。
tkinkerは画面配置がgridとreplaceが合わさった要素がなくてちょっと大変さを感じた。
flutterはxmlいじいじ出来るけどちょっと大変さを感じた。

>>25
electron調べてみます。

>>24
>>26
それがimportしてフレームワークオブジェクトとし使えるものはありますか?
2020/08/28(金) 21:19:12.87ID:uQOAsR20
>>27
くそみそimportと考える前に少しぐぐろうぜw
2020/08/28(金) 21:51:09.24ID:v0Wakv/0
>>28
>>1

1日、2日の知識で検索しても道に迷います。
2020/08/28(金) 22:11:40.68ID:uQOAsR20
>>29
  >>14
  そうじゃなくてもはやくクソコテつけてね
2020/08/28(金) 22:46:25.94ID:kClMeigf
ぶっちゃけおまえにはC#がお似合いだと思うから.Netにどっぷり浸かっとけ
で、さっさとコテつけろや
2020/08/28(金) 22:49:36.70ID:U+aOsbk9
>>29
道に迷ってからまた来い
2020/08/28(金) 22:51:59.39ID:U+aOsbk9
>>32
追加。
ググったけど分かりませんでした、ではなく、調べたこと考えたことをもとにもっと具体的な質問に落とし込めよ
2020/08/28(金) 23:07:28.50ID:/eDPNzX9
>>29
このクソは
・日に数回質問
・コテハンつけない
・質問の背景を伝えない
・情報を細切れで後出し
・クレクレくんのテイカー

邪魔なのでNGにブチこみたいけどできない
💩🦟
2020/08/29(土) 09:32:51.33ID:qgT4YAAE
ショッピングモールを歩いてるところを狙って包丁でメッタ刺しにしてやれ
2020/08/29(土) 11:39:51.74ID:LGKrWxDk
お前らって一生平社員から上がれなさそうだな。
30〜50の人がそんなコメントしてると思うと哀れみ感じるよ
2020/08/29(土) 15:50:46.22ID:dz1QqfS0
>>34
お礼すると死ぬ、も追加で
2020/08/29(土) 16:14:40.62ID:SVE449ru
>>36みたいな自宅警備員よりはまし
2020/08/29(土) 18:31:38.70ID:DuyZsB80
答えなければいいだけなのに何に怯えているのか
2020/08/29(土) 19:45:02.75ID:olsgpx0a
でもお前全然回答してないじゃん
2020/08/29(土) 19:59:59.48ID:SVE449ru
真実を言ってさしあげるなwww
ヒドスwwwww
2020/08/29(土) 21:55:47.00ID:yFCNxlZp
https://i.imgur.com/xvBMoWI.jpg
43デフォルトの名無しさん
垢版 |
2020/08/30(日) 14:13:45.36ID:GgAZZaQa
他人の痛みが判る人間になってくださいね
2020/08/30(日) 17:35:22.13ID:+2JsQ7HK
A:他人の痛みが分かる
  A-1:痛みを攻撃する
  A-2:攻撃しない
B:他人の痛みが分からない
2020/08/30(日) 23:19:44.11ID:YboAnHSb
df.loc[df['lr_residue'] > lr.residual_threshold, 'outlier_flag'] = True

この条件式を満たさなかったらFalseを入力したいのですが、どう書けば良いのでしょう?
2020/08/31(月) 00:30:19.99ID:QBydGwYC
True if (条件式) else False
47デフォルトの名無しさん
垢版 |
2020/08/31(月) 00:35:32.63ID:qofV3zSx
> お前は毎朝起きるたびに俺に負けたことを思い出すよ^^

あー、ホンッとに思い出すなあ(笑)
キチガイの嘘つきの低レベルFランの、
朝鮮ゴキブリBot君は、
チョン独特の「なにもできないけど俺のほうがジャップより偉い!」的な
ことはよーくわかったよ。
ホントなにもできない朝鮮ゴキブリBot君!

クソチョンw

Pythonさえろくにできないバカチョンのくせに
できるとほざくクソチョンw

日本で強姦と窃盗を繰り返す
犯罪者在日のクソチョンw
48デフォルトの名無しさん
垢版 |
2020/08/31(月) 11:35:18.93ID:pX0ZQbZW
>>45
df.loc[df['lr_residue'] <= lr.residual_threshold, 'outlier_flag'] = False
2020/08/31(月) 14:43:51.70ID:BQ9c+OGL
>>45
is_outlier = lambda x: x > lr.residual_threshold
df['outlier_flag'] = df['lr_residue'].apply(is_outlier)
2020/08/31(月) 15:04:09.77ID:YTLeuKSy
try exceptで例外に関するメッセージを出すことをしたんだけど、
例外発生時にその後の処理をスキップするにはどうしたらいい?
2020/08/31(月) 17:13:53.52ID:e4sW0kiW
pass
52デフォルトの名無しさん
垢版 |
2020/08/31(月) 17:26:43.06ID:PbFnPWGE
握り潰して良いケースってそんなに無いぞ
2020/08/31(月) 17:57:36.18ID:v1ptRDD0
returnかraiseって事じゃなくて?
2020/08/31(月) 18:11:26.34ID:FROJpIhI
>>50
returnに1票

pyそのものを終わらせたいならexit()だったっけか
2020/08/31(月) 19:32:33.49ID:B/OVLCcu
https://qiita.com/sssssssiiiiinnn/items/14f7035abe9ce4111323

これの
user_name
user_password
を自分のやつに、
'utf-8':'✓' → "commit":"Qiita+%E3%81%AB%E3%83%AD%E3%82%B0%E3%82%A4%E3%83%B3"
へ変更
あとはそのままで最後に.textをprintしたけど
ログイン遷移画面のhtmlが出力される
urllib.parse.quoteでログインに必要なパラメータ全部をURIに変換してみたけど
英語ページのログイン遷移画面が返された

そもそもこれでログイン後のページを取得できるのでしょうか?
あとはpost時にcookie渡す方法もちょっと今からやってみます
2020/08/31(月) 19:44:09.61ID:B/OVLCcu
よくよくみたら遷移後のページは
エラーが発生しました (500)
500ページでした
2020/08/31(月) 19:58:45.40ID:B/OVLCcu
自己解決しました
どうやらname=authenticity_tokenのinput要素が
GitHubでログイン、Twitterでログイン、Googleでログイン、ユーザー名でログイン
の4種類くらいあったみたいです
なのでbs.find(attrs={'name':'authenticity_token'})[-1].get("value")
でユーザー名でログインのauthenticity_tokenを取得してpostしてやればログインできました
お騒がせしました
2020/08/31(月) 20:04:08.82ID:ErZZGkIM
>>50
return
2020/08/31(月) 20:20:36.60ID:FROJpIhI
>>57
解決おめ&報告おつ
2020/08/31(月) 21:39:03.01ID:dESTpyrn
>>48
>>49
ありがとうございます。
こういうふうにきれいに一行で書けるのってPythonの魅力ですね。
2020/08/31(月) 22:14:00.03ID:tHgQtCtq
>>52
catchして何もしないというとこんな風に「握りつぶしちゃイカン」という奴が出てくるけど、脊髄反射だよな。
2020/08/31(月) 22:33:46.13ID:7gVW3Vi7
pythonスクレイピングで深い階層をたどる場合、ひたすらrequests.getを繰り返していく感じでいいんでしょうか?
2020/08/31(月) 22:36:28.67ID:FROJpIhI
>>62
その前にそこの規約くらい読んどけよ
かつ「適度な負荷」までしとかないと…
2020/09/01(火) 00:18:37.31
スクレイピングの話になると
質問者が負荷を考慮しない前提で決めつけて話するタイプが一定数いるよね
もう性癖なんじゃないのかとすら思う
自身が過去に何かやらかしたとかそういう
2020/09/01(火) 00:37:31.71ID:jW2tL90W
但し摩擦はないものとする
2020/09/01(火) 01:29:52.79ID:usFRsaVF
>>62
>深い階層をたどる
これが何を意味してるのかと、実現したいことによる
ただそれはpythonかどうかに限らずどの言語でもほぼ同じ
2020/09/01(火) 01:30:54.95ID:3QGLsor2
>>58
>>54
帰り値なしでreturnか。ありがとう。
やってみる。
2020/09/01(火) 04:27:21.73ID:XOAV8SJl
想像だけど、これまではtry exceptしてなかったんでしょう?
元の処理と同じ流れにしたいならexcept内でraiseでないかと
2020/09/01(火) 05:09:19.62ID:3Deqahob
>>66
例えばyahooのトップを起点にして、ショッピング>レディースファッション
と進んでいく感じですね
https://www.yahoo.co.jp/
2020/09/01(火) 05:13:15.64ID:3Deqahob
>>63
タイマーでインターバル入れます
2020/09/01(火) 08:24:32.61ID:j9jeQR8Z
>>64
pythonはじめました → スクレイピングやってみよ
質問してくる奴はほぼ負荷なんて気にしてないレヴェル
pythonは他言語より低レヴェルなプログラマー多いよ
2020/09/01(火) 08:25:56.52ID:j9jeQR8Z
>>70
ほらな、この程度。
innertextの中身のチェックくらい入れろってんだよ
73デフォルトの名無しさん
垢版 |
2020/09/01(火) 08:37:01.74ID:wAKzgXIy
> お前は毎朝起きるたびに俺に負けたことを思い出すよ^^

あー、ホンッとに思い出すなあ(笑)
キチガイの嘘つきの低レベルFランの、
朝鮮ゴキブリBot君は、
チョン独特の「なにもできないけど俺のほうがジャップより偉い!」的な
ことはよーくわかったよ。
ホントなにもできない朝鮮ゴキブリBot君!

クソチョンw

Pythonさえろくにできないバカチョンのくせに
できるとほざくクソチョンw

日本で強姦と窃盗を繰り返す
犯罪者在日のクソチョンw
2020/09/01(火) 09:37:02.67ID:3Deqahob
すみません、どうかご教示願えないでしょうか?
2020/09/01(火) 09:50:30.98ID:SZww1T26
迷惑行為に他人を巻き込むな
迷惑行為したいなら自己責任の元、自分の力でやれ
2020/09/01(火) 10:11:12.00ID:FqTPqd+i
スクレイピングって初心者がよくやりたがる題材だが、初心者こそこういう人に迷惑を掛けうるものに手を出すべきではないな
もっと他のことで基本的な力を身に付けてから手を出した方がいいと思う
2020/09/01(火) 10:20:17.45ID:61d8SwkQ
トップ>ショッピング>レディースファッションとたどるだけで過剰負荷ってどんだけ貧弱なサーバーなんだよ。
2020/09/01(火) 10:42:15.31ID:x63jWwwu
【PHP】下らねぇ質問はここに書き込みやがれ 11
https://mevius.5ch.net/test/read.cgi/tech/1591334726/428

上に、Ruby で、RSS ライブラリを使って、yahoo のRSS を取得した、コードを書いておいた

API・RSSなどが公開されているサイトでは、契約してそれを使えばよい

頻繁なスクレイピングは業務妨害になるので、避けるべき!
1日1回なら、たぶん大丈夫

詳しくは、サイトのrobots.txt に書いてある
2020/09/01(火) 11:49:29.14ID:HreNCevR
しかもDOMの基本もわかってない人も多いからかえって言語覚えるのには遠回りっていうね
8078
垢版 |
2020/09/01(火) 12:02:19.87ID:x63jWwwu
5ch など、ほとんどのサイトは一旦、空のHTML を送ってきてから、Ajax でデータを取得するから、
普通にスクレイピングしても、データが存在しないので取得できない

10秒ぐらい待つとか、Selenium Webdriver を使って、ブラウザを操作する必要がある

特に、yahoo は、ID も少なく、暗号のようなクラス名ばかりで、
解析するのに、かなり苦労する

会社が公開している、API・RSS などを使うべき!
2020/09/01(火) 12:22:02.61
>>71
そんなこと言い出せば
今までITやプログラミングに縁のなかったそこらの一般人がpythonはじめましたなんていうことは確率的に低い
2020/09/01(火) 12:30:47.28ID:usFRsaVF
>>69
階層だけど、それめちゃ浅くね?
それにトップから辿らなくてもカテゴリのIDはそう変わらないから直接アクセスすればいいんじゃないの?

あとはレディースファッションとかに表示される商品情報はAJAXで取ってきてるから
requestsでやるならXHRのリクエストをWebサイトがやってるのと同じようにやるのと
レスポンスにある各項目の意味を把握しておく必要があるので少し面倒
(そのかわりSeleniumとかのブラウザ操作系に比べれば高速)
8378
垢版 |
2020/09/01(火) 12:44:38.65ID:x63jWwwu
カテゴリのID は変わらないとか、
暗号のようなクラス名は変わる・変わらないのか、分からないとか、
漏れらは、そのサイトの作者じゃないから、仕様が分からない

答えを推測するしかできないから、
答えを知ってる香具師・作者と比べれば、圧倒的に不利

何回もスクレイピングして、テストしないといけない。
また翌日になれば、クラス名などが変わるかも知れないから、何日間もテストしないといけない

どういうルールで、クラス名などを決めているのか、分からない

だから、クラス名に頼らず、div の下のdiv の、みたいに構造で分析していかないといけない。
ものすごく深いネストを解析するのは、面倒くさい
84デフォルトの名無しさん
垢版 |
2020/09/01(火) 12:55:56.71ID:/NSRorCL
これはひどい
https://www.尼zon.co.jp/dp/4798161918
2020/09/01(火) 13:58:27.45ID:2GwzERnJ
>>83
APIが提供されているならそっちの方が簡単だよね
8678
垢版 |
2020/09/01(火) 15:39:23.88ID:x63jWwwu
こういう動画を見れば?

エンジニアチャンネル、粟島

【検証】現役プログラマーは30万円の案件を何時間で出来るのか?
https://www.youtube.com/watch?v=rt_X6n9oWa4

YouTube のスクレイピング。
API を使って、Ruby で1時間

時給30万円!
87デフォルトの名無しさん
垢版 |
2020/09/01(火) 16:24:34.68ID:fuWow3G5
>>57
>>59
find_all ね
2020/09/01(火) 16:57:12.56ID:qDG6bTcu
>>81 今は大学で教えてるんじゃないの? 一番教えやすいから。
アメリカだとPython がわかるかどうかが採用条件になってる会社もある。

日本はRuby が普及してたから出遅れてる。
2020/09/01(火) 17:20:10.19
そういうことじゃなくてpython知ってるかどうかやり始めたかどうかはどうでもよく
○○を知らないはず(妄想) → ○○やれよ(確信)、と指摘する
みたいなレッテル貼りの認識が抜けてるってのがおかしいでしょってこと
仮に○○が当たってたとしても、妄想でしかない
2020/09/01(火) 19:15:53.31ID:ZfPGOnHz
エスパーしかこたえるなといったり
今度はエスパーにレッテル貼りといったり
さすが、尻にう●こついてるだけあって
脳の新陳代謝が活発でいそがしいなw
2020/09/01(火) 19:29:55.15
エスパーと説教は違いますよ(笑)
2020/09/01(火) 19:31:53.51
というか今回の件で言えば質問の答えですらないし
93デフォルトの名無しさん
垢版 |
2020/09/02(水) 00:41:15.18ID:9Rt4BaK9
>>92
それな
94デフォルトの名無しさん
垢版 |
2020/09/02(水) 08:56:59.29ID:cf3sTGi+
朝鮮人にpythonは無理ゲーw
2020/09/02(水) 11:28:30.13ID:uEUYmCsp
統計処理

グラフ出力

のアプリを作成したらコードが600行ぐらいになって非常に見にくくなりました。
こういうときって、統計処理とグラフ出力などをクラスとして分けるべきなのでしょうか?
現在は各処理を関数にしているだけなのですが・・・。
2020/09/02(水) 12:09:44.90ID:KDiI+t6P
githubに公開するつもりでモジュール化すればおのずと形になりそう
2020/09/02(水) 12:43:16.85ID:oPbAh6sy
>>95
モジュール
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況