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

■ このスレッドは過去ログ倉庫に格納されています
2022/05/22(日) 22:25:08.74ID:/hGmbW/Z
当スレに★Python以外のプログラミング言語での回答類を書くべからず★
派生言語はそれぞれ専スレがある(この板にあるとは限らない)ので、そっち池。
「Ruby」「Rails」「某言語では」「クソチョンw」をNGワード登録推奨。荒らしは、完全スルー放置が一番きらいです。

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

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

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

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

次スレたては >>985 あたりが挑戦する。
### END OF TEMPLATE ###
2022/07/23(土) 12:16:15.57ID:cx+wDCne
まあ反省できるようなやつだったら最初からこんなことしないわな
2022/07/23(土) 12:39:52.71ID:zqWGCIwO
コード出して色々言うのはいいけど適切なスレでやってねって話なんだけど自治厨とか言い出してる時点で反省なんてしてないわなw
2022/07/23(土) 12:46:43.25ID:b3gXMMo0
自己中なんだろ
自分以外見えてない
492デフォルトの名無しさん
垢版 |
2022/07/23(土) 15:41:49.42ID:FAO+OpS7
ネオ麦茶
2022/07/23(土) 17:14:17.68ID:QCnlUATD
>>492
犯罪示唆ですね
通報しました
494デフォルトの名無しさん
垢版 |
2022/07/23(土) 18:06:21.74ID:KR63qUqp
随分とハイコンテクストな犯罪教唆だな
2022/07/23(土) 21:20:29.07ID:MqDru3I9
>>460
例えばRuby では、input.csv が以下の内容として、
a
b,c

require 'csv'
require 'open-uri'

url = "http://localhost:8000/input.csv";

CSV.parse( open( url ).string ).each do | row | # 1行ずつ処理する
p row
end

出力
["a"]
["b", "c"]

または、curl コマンドを使う事もできる。
input_csv = `curl #{ url }`
2022/07/23(土) 22:54:21.58ID:jIlcufBL
完全自殺なんチャラって本も流行ったなぁ
497デフォルトの名無しさん
垢版 |
2022/07/24(日) 05:32:21.57ID:or5HZl/v
1.適性がない、というその適性を定義してください。
2.適性がない、となぜ判断したのか 1. をもとに詳しく記述してください
3.1.2.が出来ないのではないのならば、あなたこそ、あなたのいう適性をもちあわせていない、と私は判断します
以上
2022/07/24(日) 10:18:49.14ID:VDm4wods
>>497
非論理的だね
著しく論理的思考能力の低い人はプログラミングの適性がないと言われても仕方ない
2022/07/24(日) 12:33:12.33ID:DlP0Pw4T
>>498
1.自民党と統一教会の関係を説明してください
2.公明党と政教分離の関係を説明してください
3.おまえは馬鹿
2022/07/24(日) 13:48:43.90ID:Kadg5L8P
>>499
ここで政治の話は止めて頂きたい
2022/07/24(日) 14:03:28.06ID:s7YMPwIQ
>>500
おまえは馬鹿
2022/07/24(日) 14:09:01.48ID:nqGRTr2S
プログラミングしてると、
Delete、Enter、BackSpace、半角全角、home、end
ここらへんがホームポジションから遠すぎて困るな
半角、全角は無変換と変換に割り当てたんだけど

みんなはキーマップカスタマイズとかしてるの?
2022/07/24(日) 14:12:13.07ID:s7YMPwIQ
それはPythonと関係のある話題ですか?
2022/07/24(日) 14:14:56.30ID:QkJUlhBv
手を叩いて大きくすると良い感じになるよ。
2022/07/24(日) 14:20:46.38ID:VlRFcd7U
>>499
メンバシップ関数を定義するのけ?
2022/07/24(日) 14:43:22.46ID:Kadg5L8P
>>502
ctrl<->capsの入れ替えくらい
507デフォルトの名無しさん
垢版 |
2022/07/24(日) 16:12:15.26ID:ydeGY7xn
>>502
親指活用できるエルゴノミクスキーボード使ってる
詳しくはハードウェア板のエルゴノミクスキーボードスレへ
kinesis, ergodox, teckあたりかねその辺打ちやすいの
2022/07/24(日) 16:23:06.62ID:oKMHGzT9
集団自決したはずなのに生きていた人が死去
2022/07/24(日) 19:45:11.64ID:e/hljxBO
スクレイピングの練習中でリスト内包表記とre.search()について教えてください
seleniumとlxmlで取得したデータの変換がうまく行かないです

url_list = ['https://www.tekitou'+re.search(r'[^0-9A-Z]dp[^0-9A-Z]([0-9A-Z]{10})([^0-9A-Z]|$)',a.get('href')).group() for a in html.cssselect('#tekitou > div > div > a:nth-child(1)')]

html.cssselect('#tekitou > div > div > a:nth-child(1)').get('href')の時点で取得できてるurlは下記のような感じです。

https://www.tekitou/%〇〇%〇〇/dp/(10桁の英数字 英は半角大文字)/ref=zg_bs_10桁の数字_2桁の数字/3桁の数字-7桁の数字-7桁の数字?pd_rd_i=(10桁の英数字 英は半角大文字)&psc=1

https://www.tekitou/music/player/ref=zg_bs_10桁の数字_2桁の数字/3桁の数字-7桁の数字-7桁の数字?pd_rd_i=(10桁の英数字 英は半角大文字)&psc=1


re.search().group()する前のurlが/dp/ありのurlと/dp/なしのurlに分かれるのですが、
re.search(r'[^0-9A-Z]dp[^0-9A-Z]([0-9A-Z]{10})([^0-9A-Z]|$)',a.get('href')).group()の作業の際にエラーがでてしまうため
/dp/なしのurlを削除するようにするか、
pd_rd_i=(10桁の英数字 英は半角大文字)&psc=1の(10桁の英数字 英は半角大文字)を取得するようにしたいです。

なにかうまい表記があれば教えてください
510デフォルトの名無しさん
垢版 |
2022/07/24(日) 19:55:36.27ID:IZxLU3+7
秀丸最強
2022/07/24(日) 20:08:14.75ID:JBPZyDq1
アマゾンのURLくらいググったら色々出てきそうだけどクソ見にくい正規表現で無理せずにスラッシュでsplitでifにlengthとアスキー確認くらいでいいんじゃないの?
2022/07/24(日) 23:38:55.79ID:GhBFnIe8
プログラミングって直感じゃね?
論理は直感を説明するのに用いることに有効だけど
プログラム書くのにいちいち考えないっしょ
考えるのは設計とテストだけだし
2022/07/24(日) 23:39:26.11ID:GhBFnIe8
それ以外にもあるかもしれんけど
2022/07/24(日) 23:43:50.14ID:nVQ6Xq/p
>>509
pd_rd_iから取得
url_list = ['https://www.tekitou/dp/{0}/'.format(re.findall(r'\?pd_rd_i=(\w+)', a.get('href'))[0]) for a in html.cssselect('#tekitou > div > div > a:nth-child(1)')]
2022/07/25(月) 00:22:12.12ID:kwIPZDW5
argparse使って、たとえば1つ目の位置引数(スイッチのようなもの)の違いで、それ以降は全く異なる引数ルールになるような場合はどのような指定をすればよいでしょうか?
それともそれぞれ別のルールを定義してパースする必要がありますか?

すごく簡単な例ですが、addの場合とlistの場合で指定する引数が違うようなものとか
user.py
-add name [--prop property]
-list [--group group]
2022/07/25(月) 00:41:00.73ID:YiCqNPeZ
>>515
1つめの位置引数を読んでから残りをargparseにかければいいんでないの?

それかサブコマンド対応してるライブラリを使うか
2022/07/25(月) 00:57:12.30ID:kwIPZDW5
>>516
なるほど。argparseで一度にまとめてできればと思ったんですが、できないってことですね…
2022/07/25(月) 01:00:15.74ID:gTrk2zFk
>>509
例えば、Ruby なら、

URI.split で、URL のパス部分だけを抜き出して、
その文字列内に、/dp/ が含まれているかで条件分岐する

require 'uri'

dp_url = "http://example.com/%E3%81%82/dp/a"; # あ = %E3%81%82
non_dp_url = "http://example.com/%E3%81%82/a";

p dp_ary = URI.split( dp_url )
p non_dp_ary = URI.split( non_dp_url )
#=> ["http", nil, "example.com", nil, nil, "/%E3%81%82/dp/a", nil, nil, nil]
#=> ["http", nil, "example.com", nil, nil, "/%E3%81%82/a", nil, nil, nil]

# パス部分
p dp_ary[ 5 ]
p non_dp_ary[ 5 ]
#=> "/%E3%81%82/dp/a"
#=> "/%E3%81%82/a"

p dp_ary[ 5 ].match( '/dp/' )
p non_dp_ary[ 5 ].match( '/dp/' )
#=> <MatchData "/dp/"> : 一致する
#=> nil : 一致しない
2022/07/25(月) 01:03:04.79ID:oCKr0yXR
add_subparsersでやればいいんじゃない
2022/07/25(月) 09:00:21.95ID:9Mfr9nvz
>>512
うう……設計がプログラミングに含まれてない……うそやろ……
2022/07/25(月) 09:35:32.16ID:Tcjxae6G
>>509
/dp/(10桁の英数字 英は半角大文字)があれば、その(10桁の英数字 英は半角大文字)を取得
?pd_rd_i=(10桁の英数字 英は半角大文字)があれば、その(10桁の英数字 英は半角大文字)を取得
どちらも無ければ空文字を返しエラーとはならない方法

url_list = ['https://www.tekitou/dp/{0}/'.format(re.search(r'(?<=/dp/)(\w+)|(?<=\?pd_rd_i=)(\w+)|$', a.get('href')).group()) for a in html.cssselect('#tekitou > div > div > a:nth-child(1)')]
2022/07/25(月) 09:43:03.78ID:VgpbHR93
>>520
Don't think. Feeeel!!
2022/07/25(月) 10:25:41.85ID:kwIPZDW5
>>519
add_subparsers使えばできますね!
ありがとうございます。
2022/07/25(月) 12:52:01.49ID:gFjrq6Gs
>>520
設計は人が考えたものを具現化するプロセスまでの事でプログラミングに含まれないよね

プログラミングは優秀な言語と開発支援ツールに頼って直感のままに組み立てる作業

人が本来やることは自身の進化とソフトウエアのアップデート対応に強い設計する事と作業を減らす工夫と世界が前進することへの貢献
2022/07/25(月) 12:57:49.15ID:gFjrq6Gs
簡単そうに言ってるけど
かなり時間かけて様々なことを知らないといけないし知らない未知のことへの挑戦もしてかなきゃいけない
そーゆー志を持った人がこのスレの中に居てくれたら俺は嬉しい
2022/07/25(月) 13:20:20.14ID:9Mfr9nvz
>>524
(それコーディングじゃない?)
2022/07/25(月) 14:36:18.33ID:evu7R6rH
docker入れてみたけどやっぱ仮想環境だからGB単位でメモリそこそこつかうんだよな
アイドル状態で8GB、vscodeで1〜2GB、dockerで2GB、Chromeで動画見ながら作業したら2〜3GBぐらい使うからギリギリで困る
やっぱメモリ32GBは入れないとだめか
2022/07/25(月) 15:07:03.89ID:fmU0SO/o
>>526
(ちんこかゆい)
529デフォルトの名無しさん
垢版 |
2022/07/25(月) 16:14:04.12ID:GOtCNvAE
https://www.youtube.com/watch?v=B5tSZr_QqXw
2022/07/25(月) 19:47:19.85ID:GWKUHzSt
>>514
>>521
ありがとうございます
行けました!
2022/07/25(月) 19:49:50.49ID:GWKUHzSt
seleniumで複数ブラウザ立てて並列処理してみたいけど難しそう
scrapyで楽天からスクレイピングしてみたら非同期処理?のせいで早すぎて速攻アク禁くらった
2022/07/25(月) 20:11:37.41ID:NlibKZuA
>>531
プロファイルを別にすればいけるよ
高速化目的で同じサイトに並列アクセスするのはやめた方がいい
533デフォルトの名無しさん
垢版 |
2022/07/25(月) 20:20:18.30ID:mO6SEFWJ
流石にもういきなり逮捕はされないと思うけど、librahackみたいなことが起こらないとは言えないから怖いよねー。
アクセスログで見ても、ギリギリ人間がアクセスしてるって言い訳できるぐらいの間隔を乱数で作ってsleepしてるわ。
2022/07/25(月) 21:11:33.84ID:Tcjxae6G
>>511
フハハハハハハハハ、>>521を刮目せよ! 賞賛の声(>>530)を聞け!
正規表現はクソ見にくいわけはなく、むしろ簡潔であり完璧であり完全無欠なのである
正規表現にできないことはなく、正規表現に代わるものはなし
正規表現はまさに人類の叡智なのである
535デフォルトの名無しさん
垢版 |
2022/07/25(月) 21:14:45.44ID:GF1rw+EH
イヤイヤイヤイヤ、普通にクソ見にくいでしょ。
他人が理解できないものを書くほうが偉いって風潮何とかならんの?
2022/07/25(月) 21:44:24.25ID:Tcjxae6G
>>535
偉いとかじゃなくて便利なんだよ
>>521の正規表現は別に難しい部類じゃない、\wは単語文字という意味で英数字も含まれる
\w+で単語文字が1個以上という意味になる、その前の(?<=...)は後読みアサーションで
これにマッチした後の\w+をサーチしているわけで基本というか、ちょっと勉強すれば、というか
正規表現の仕様に例が載ってるから、例みたらすぐ理解できるよ
https://docs.python.org/ja/3/library/re.html

自分的には最後の|$が工夫した点で、コレでサーチできなかった場合に空文字を取得させることができる
正規表現使わずにスラッシュでsplitでifにlengthとアスキー確認なんかの方が見にくいだろうし
面倒すぎてやっとれんよ
2022/07/25(月) 22:07:08.94ID:5m9dN2FM
(超初心者用)
2022/07/25(月) 22:50:49.78ID:Tcjxae6G
>>529
最新動画の@cacheがマジ感動した、最後のフィボナッチの高速化がマジ良かった
マジでマジでマジだから
2022/07/25(月) 23:03:45.65ID:gTrk2zFk
WSL2, Docker は、8GB メモリじゃキツイ

16〜32GBは欲しい
2022/07/25(月) 23:56:34.13ID:XTViXxR/
>>536
スラッシュでsplitでアスキー確認って
[i for i in ○.split('/') if len(i) == 10 and i.isascii()]
で終わりでしょ
それ自体に難しさも見にくさも感じないが
2022/07/26(火) 01:23:31.22ID:HcfNtCqI
正規表現学びたいけど複雑すぎて訳分かんねえよ
なんか練習できるところないの?
ゲームっぽく遊べたりする所どっかあるだろ?
2022/07/26(火) 03:23:25.62ID:fUa59wf/
ターミナル
2022/07/26(火) 08:00:48.09ID:hxnsYVU0
>>540
これはアカンでしょ、ifってそんなけ? /dp/の判定が無いし
/dp/が無かった場合にpd_rd_iから取得する処理が無いし
これでいいなら正規表現ならこうじゃわいな
re.search(r'\w{10}|$', ○).group()
2022/07/26(火) 08:23:18.19ID:hxnsYVU0
findall使った方がいいか、こっちの方が>>540と処理結果同じだわ
re.findall(r'\w{10}', ○)
2022/07/26(火) 09:42:11.06ID:28W+mdVQ
10桁英数のチェックが必要ないならこれでいけるんじゃね
([i[:10] for i in url.split("/dp/") + url.split("pd_rd_i=") if not i.startswith("https:")] + [""])[0]
チェック必要なら1行ではきびしいか
2022/07/26(火) 10:10:32.06ID:2F7nQnXP
pd_rd_iは必須じゃないからなあ
2022/07/26(火) 11:04:25.18ID:hxnsYVU0
>>545 を抽象化+10桁チェック+isasciiチェック追加(10桁チェックは不要だとは思うけども・・)
[i[:10] for i in url.split("/dp/")[1:] or url.split("pd_rd_i=")[1:] if len(i[:10])==10 and i[:10].isascii()]
気づいたんですけどこのisascii()でのチェックはasciiのチェックであって、ascii文字のチェックじゃないから
英数字だけじゃなくて/やtabやらもTrue判定しちゃいますからダメですね

ちなみに>>521も10桁チェックは入っていないのですが、入れた場合は以下のようになりまして
その場合もやはり分かりやすい、可読性が良い、簡潔、何をしているかすぐ分かる
正規表現スキになっちゃったって方はgoodボタン押してください^^
re.search(r'(?<=/dp/)(\w{10})|(?<=\?pd_rd_i=)(\w{10})|$', url).group()
2022/07/26(火) 11:06:35.56ID:Uy4U9BVa
goodボタンってどこにあるの?
2022/07/26(火) 11:37:39.45ID:PhJ4pIjK
精神病になるとそういうボタンが見えるらしいよ
2022/07/26(火) 12:16:00.10ID:k5BnME6W
こいつ上の方にいた日記帳キチガイだな
2022/07/26(火) 12:21:32.78ID:r5zklFsb
ハッタツしょう害なんじゃねえの
2022/07/26(火) 12:37:44.00ID:28W+mdVQ
>>547

英数字チェック完全版+セイウチ
[x for i in url.split("/dp/")[1:] or url.split("pd_rd_i=")[1:] if len(x:=i[:10])==10 and x.isascii() and x.isalnum()]
553デフォルトの名無しさん
垢版 |
2022/07/26(火) 12:44:17.32ID:IrL7txwd
・フリーランスに立ちはだかる「常駐」の壁。慣例を打ち壊し、
“テレワーク”案件3割→8割へと成長を遂げた「クラウドテック」の軌跡
・リモートワーク求人専門サイト「プロリモート」がリニューアルオープン、
 業務委託契約の求職者と企業をマッチング 
・1/3以上が採用につながる高マッチング率、リモートワーク×エンジニア・デザイナー専門の
 人材紹介サービス「ReworkerAgent」正式リリース場所からも時間からも自由な働き方を実現!
・『ReWorks(リワークス)』リモートワーク特化型転職サイトとして 3月5日 リニューアル
・副業・兼業マッチングサービス「クラウドリンクス」登録者数2万人突破
 中小企業で進む副業人材の採用、96%が継続採用を希望
・フリーランスが活用できる「最大1,000〜3,000万円・補助率50%〜75%」の
『ものづくり・商業・サービス補助金』とは?概要や条件を解説
・茨城県日立市、県外からの「テレワーク移住者」に最大151万円の助成金
・長野市、市内に移転・事業所設置し、移住することで最大550万円の支援金を支給
2022/07/26(火) 12:59:25.55ID:hxnsYVU0
>>552
すばらしい! これ以上は良くなりそうにないね
こうして見るとやはり正規表現の方がいい、仕様変更にもすぐ対応できるし
2022/07/26(火) 13:07:45.08ID:563vGs1S
ではこの話はこれで終わりです
2022/07/26(火) 13:15:56.15ID:hxnsYVU0
へ? ここで>>552が「実行速度では負けてないもんね!」つって速度勝負をしかけてきて
それならre.compileじゃぁあああって応戦してからの、やっぱ「速度じゃreは不利じゃわい」
つって、「いやいや、やはり正規表現さんの勝ちですわ、メンテナンス性では完敗ですもん」
ってお互いが歩み寄ってからの熱い握手で終幕やろうが! まあええわ次の話題もってこいや
557デフォルトの名無しさん
垢版 |
2022/07/26(火) 13:30:39.77ID:P5K5X/wN
ID:t+dBeaSp
ID:lkZCuVJ2
ID:Tcjxae6G
ID:hxnsYVU0
558デフォルトの名無しさん
垢版 |
2022/07/26(火) 16:43:34.40ID:gc9s0ohk
以上
今日の自演でした
559デフォルトの名無しさん
垢版 |
2022/07/26(火) 17:59:35.79ID:gc9s0ohk
>>492-494
秋葉で暴走した加藤は死刑完了したそうだ
2022/07/26(火) 18:59:47.50ID:aND0EYYo
python使いやすくていいわーって思ってたけど
json使ったら面倒だなと思った…
これ自分で辞書にしたり戻したりしないといけないわけ?
pickleちゃんはバイナリになるからやだ
2022/07/26(火) 19:06:35.62ID:QBs9x9BG
>>559
あの事件で大学の同級生死んじゃったよー……。執行まで長かったなー
2022/07/26(火) 19:40:58.02ID:Uy4U9BVa
まじかよ
東大近いもんな
優秀な人を亡くすのは実に惜しい
2022/07/26(火) 19:44:17.06ID:QBs9x9BG
>>562
は?東大生死んでないが?
2022/07/26(火) 19:44:58.50ID:Sr1olQPp
while True:
 わーいPython便利だなー
 あれ?このXを扱うのってめんどくさくね?
 他の言語にしよっと
 X以外がめんどくさすぎる!
2022/07/26(火) 19:57:04.85ID:hxnsYVU0
>>560
じゃあyamlちゃんは?
https://www.youtube.com/watch?v=rpbq6vXcNbM
566デフォルトの名無しさん
垢版 |
2022/07/26(火) 20:47:35.71ID:GQvz79KS
Jsonって殺人鬼だったのに。
2022/07/26(火) 21:16:10.07ID:OUnIdkcH
全損
568デフォルトの名無しさん
垢版 |
2022/07/26(火) 22:30:48.06ID:Rgm2Z23r
>>560
これってどういうこと?Pythonのオブジェクトに変換せずに何かをやりたいっていうこと?
2022/07/26(火) 23:43:27.38ID:wQrOnGuH
yamlの仕様を学ばないままcomposeやk8sを使ってる
2022/07/27(水) 03:54:50.01ID:PQGmIH2y
パスの\を/にかえなきゃいけないのが面倒すぎるんだがなんか方法ないのか?
\\にかえるのもめんどう

で調べたらRつけるだけでいいらしい……
だったら最初から\読み込めるようにしろよ!
2022/07/27(水) 09:00:44.94ID:pyuUgR41
>>560
jsとpythonでしかjson使ったことないけど、どちらも使い勝手は変わらんと思うが。
572デフォルトの名無しさん
垢版 |
2022/07/27(水) 10:05:16.97ID:elZrgoJK
>>560
があほすぎなすれ
573デフォルトの名無しさん
垢版 |
2022/07/27(水) 13:08:32.87ID:B7vnAx8k
>>570
その文句は、エスケープ文字を勉強したほうしたほうがいい
あといちいち手動でreplaceするよりPathlib使った方がかかいもよ

https://pystyle.info/python-pathlib/
2022/07/27(水) 13:27:46.89ID:aU47T/gU
パースするだけなのにそんなに面倒か?
2022/07/27(水) 13:28:56.39ID:aU47T/gU
すまん、jsonの話な
576デフォルトの名無しさん
垢版 |
2022/07/27(水) 15:26:57.56ID:B7vnAx8k
PythonでJSONの取り扱いは、JS以外の他の言語と比べたらめちゃくちゃ楽な方だと思うけどな。ほとんどJSと変わらない。
CはともかくC++だって全然簡単じゃないからねえ。CだとPythonの5倍、C++でも2.5倍ぐらいの記述量になる気がする。
577デフォルトの名無しさん
垢版 |
2022/07/27(水) 16:26:23.72ID:G6wuTkcd
何年前の話よ
https://github.com/nlohmann/json
2022/07/27(水) 16:52:22.09ID:aU47T/gU
jsonはpythonのビルトインパーサーでなんとかなるな
使えないhtmlパーサーとは大違い
2022/07/27(水) 19:30:05.71ID:xJ8anoa4
python に限った話じゃないけどなぜか html パーサーっこれって言う奴ないよね
2022/07/27(水) 20:20:11.22ID:aU47T/gU
>>579
htmlが、sgml/xmlを簡略化した派生で
文法があまりに自由でゆるゆるだったから、
もともとデータ処理には向いていなかったということなんだと思うよ
2022/07/27(水) 20:28:14.33ID:xJ8anoa4
>>580
そうは言っても html で公開されてるデータもあるんだからねぇ
2022/07/27(水) 20:42:25.68ID:aU47T/gU
>>581
現状では、外部モジュールに頼るか、力づくでなんとかするかしかないものねw

最近はhtmlに組み込まれたjsonデータ形式(json-ld)が多くなって、
データを探るくらいならあまり悩まずにすむので助かってるわ
583デフォルトの名無しさん
垢版 |
2022/07/27(水) 22:42:50.60ID:+MHO4Y86
君ら二人が思ってるほどそういう需要がないんじゃない
結局やりたいのはスクレイピングでしょ
584デフォルトの名無しさん
垢版 |
2022/07/27(水) 23:00:58.07ID:+MHO4Y86
スクレイピングできるようなライブラリを標準ライブラリに組み込んで欲しくはないよね
html.parseは確かにシンプルだとは思うけど、どこまでってなると難しい
html自体がかなり緩いから、サービス依存とか流行に依存してしまうんだよね
まぁ、Beautiful Soupもあるしいいじゃないすか
2022/07/28(木) 00:22:28.49ID:nqLen+JC
yieldって初めて見た

ジェネレーター関数?を作るときに使うのか
正直使い道がわからんな
ジェネレーターとかイテレーターとかはだいたいわかるけど
2022/07/28(木) 05:13:59.70ID:mvZe9xm4
>>585
> ジェネレーターとかイテレーターとかはだいたいわかるけど
わかってたらyieldの使いどころがわからんとかないと思うが...
2022/07/28(木) 05:40:55.75ID:8YG1K1uV
>>586
こういうやつって結局何聞かれても説明できないやつだよな
2022/07/28(木) 05:45:38.18ID:yBjc1Rgi
国債取引してればyieldなんてしょっちゅう見るけどな
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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