Pythonのお勉強 Part57

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2018/06/25(月) 09:57:59.24ID:aY7uj4w5
Pythonオフィシャルサイト
http://www.python.org/

■前スレ
Pythonのお勉強 Part56
http://mevius.5ch.net/test/read.cgi/tech/1519430841/

次スレは>>980が挑戦する

ソース貼れるサイト
https://pastebin.com/ ペーストビン
https://ja.osdn.net/pastebin/ OSDNコピペ ログインしないで投稿すると一週間で自動削除
2018/06/25(月) 11:36:25.91ID:dToWkiL+
>>1
2018/06/25(月) 13:47:46.64ID:f2ggMv3H
             / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
     ,__     | >>1がロリコンで捕まりますように……
    /  ./\    \_______________
  /  ./( ・ ).\       o〇      ヾ!;;;::iii|//"
/_____/ .(´ー`) ,\   ∧∧        |;;;;::iii|/゙
 ̄|| || || ||. |っ¢..|| ̄  (,,  ) ナモナモ   |;;;;::iii|
  || || || ||./,,, |ゝ iii~   ⊂ ヾwwwjjrjww!;;;;::iii|jwjjrjww〃
  | ̄ ̄ ̄|~~凸( ̄)凸 (  ,,)〜 wjwjjrj从jwwjwjjrj从jr
2018/06/25(月) 14:06:54.30ID:Bcc7AEkr
>>1は幼女
5デフォルトの名無しさん
垢版 |
2018/06/25(月) 14:34:16.37ID:tpBtUwyy
乙py
2018/06/25(月) 14:54:34.34ID:aY7uj4w5
>>1はもとJKだよ! (`・ω・´)
7デフォルトの名無しさん
垢版 |
2018/06/25(月) 19:01:57.03ID:vlzUvJan
うむ、大儀である

Python3エンジニア認定基礎 模擬試験
https://diver.diveintocode.jp/exam
2018/06/25(月) 22:28:43.69ID:QqjgPMvZ
コメントアウトするときに、"# "を行頭に挿入してくれるIDEは無いのかな。
どちらかと言うと軽量なIDLE、Pythonwin、PyScriptあたりは、"##"を行頭に挿入してしまい、変更設定もないんだよなぁ。
PyCharmはできるみたいだけど、他にはある?
2018/06/25(月) 23:11:36.53ID:f2ggMv3H
Atom
2018/06/25(月) 23:19:41.09ID:PMfNNsGj
>>8
それくらい手入力すればいいのに
2018/06/26(火) 01:29:31.49ID:UJYVTaby
他人が書いたテキストファイルから必要な行だけ抜き出そうとしたら
ファイルのほうの書式ミスだの誤植だのでうまくいかなかったときの悲しみ
2018/06/26(火) 08:45:04.93ID:ayn5GnnW
scrapyで1分毎に1度アクセスしてスクレイピングをしたいのですが
毎回起動すると巡回するまでに時間がかかります
ですので起動しっぱなしで巡回させたいのですがどのようにしたらいいのでしょうか

spider内でsleepしたりもしたんですがアイテムの処理まで止まってしまいダメでした
2018/06/26(火) 10:22:32.88ID:oIj/6dLD
業務妨害を加速させたいとな?
2018/06/26(火) 11:33:00.83ID:q7eaTJhV
CrawlerRunner を使えばできそうな感じがする
ttp://scrapy-ja.readthedocs.io/ja/latest/topics/practices.html

scrapy自体使ったことないからよく知らないけどもw
2018/06/26(火) 13:42:21.19ID:ayn5GnnW
ありがとうございます
reactorの仕組みが理解できてないんですけど
.run()をループ内に入れると失敗するので以下のようにしたのですが
spiderの__init__は実行されてるのですがリクエストは実行されず最後にまとめてされてるみたいです
(この場合3分後に)

https://pastebin.com/6tvdPRnL

出力
__INIT__
__INIT__
__INIT__
start_requests
start_requests
start_requests
request: https://www.yahoo.co.jp/
request: https://www.yahoo.co.jp/
request: https://www.yahoo.co.jp/
2018/06/26(火) 14:09:43.07ID:ayn5GnnW
とりあえずProcessを作りその中で実行するようにしました
コマンドだと10秒ぐらい掛かってましたがscriptから実行すると3秒ほどに短縮できたので!
2018/06/26(火) 17:44:51.37ID:tY6A4pT3
>>10
大幅な手直しの時には、さすがにそんなことやってられないでしょう。
対応していれば、行選択してショートカットキーで一発なんだから。
2018/06/27(水) 06:04:56.19ID:Av32bs5l
前スレ978です
お礼が大変遅くなって申し訳ありませんでした
すすめていただいた本をまずは書店で見てきたいと思います
ありがとうございました
2018/06/27(水) 16:18:33.53ID:TKlgNhKw
>>8
jupiterとvscodeならctrl+/で行頭に#入れてくれたと思う
2018/06/27(水) 16:30:54.06ID:X2gyhKWn
vimならマクロ設定して@@でいける  はいっ、vimの勝ちーー!
21デフォルトの名無しさん
垢版 |
2018/06/27(水) 16:38:58.81ID:2dfKv2YD
vim最強
2018/06/27(水) 19:08:41.36ID:UerH7Abj
ネタなのか…
2018/06/28(木) 00:11:52.26ID:tMTnxUV1
pythonだとデータサイエンス屋さん以外でまともな人はたいていemacsかvim
2018/06/28(木) 00:30:32.41ID:lgGkat8A
ctrl+/ -> 2ストローク
esc @ @ -> 3ストローク

ダメじゃん
2018/06/28(木) 00:38:37.07ID:h/Ekqdxp
vimなら ^, ctrl+V, jjjjj, I, #, esc が普通じゃない?
2018/06/28(木) 07:23:00.10ID:WgQA5F5F
トリプルクォートで文字列化
さっさと修正したらバッサリ削除してコミット。
2018/06/28(木) 08:02:32.74ID:UbDQ2CeD
numpyってstrからastypeで変換できないんだな
2018/06/28(木) 09:33:32.71ID:9GisGdyJ
>>12
1分に1アクセスならDOWNLOAD_DELAY=60だろ
1分ごとに全部クロールならCrawlerProcess使え
2018/06/28(木) 09:52:59.74ID:juJJBKVT
scrapy使い結構いるのかな? 私はrequestsでアクセスして正規表現でデータ抽出ですわ
30デフォルトの名無しさん
垢版 |
2018/06/28(木) 16:26:28.85ID:FdbC2U6h
>>27
np.array(list('hoge'), astype='uint8')
2018/06/28(木) 16:52:34.35ID:BoCABAQN
>>30
intへの変換だよ
32デフォルトの名無しさん
垢版 |
2018/06/28(木) 17:35:24.41ID:nGiHMjHt
エスパー希望
2018/06/28(木) 21:08:47.06ID:5D3e8xlL
>>29
scrapyめんどいな、xpathとかなんやねん?
性器表現もだるいだろ


結論
ビューティフォースープ最高!
34デフォルトの名無しさん
垢版 |
2018/06/29(金) 20:16:31.44ID:kq5wxYLp
BeautifulSoupのパーサーにhtml5lib(1.0.1)使ってますが、
先頭に空のコメントがあると見つからずNoneになるのですが、
これっておかしいですよね?lxmlとhtml.parserは問題ないのに
soup = BeautifulSoup('''<div></div>''', 'html5lib')
print(soup.div) # <div></div>

soup = BeautifulSoup('''<!----><div></div>''', 'html5lib')
print(soup.div) # None

soup = BeautifulSoup('''<!--コメント--><div></div>''', 'html5lib')
print(soup.div) # <div></div>
35デフォルトの名無しさん
垢版 |
2018/06/29(金) 20:19:18.50ID:AheYOSRK
soup = BeautifulSoup('''<!-- --><div></div>''', 'html5lib')
は?
2018/06/29(金) 21:39:52.07ID:uYKzuekL
re.search(r'(<[^<>!-]+>)+', s).group()
ひ?
2018/06/30(土) 00:26:17.52ID:tr0WXiW5
jQuery では、CSS セレクター。
Ruby のNokogiri では、CSS セレクター・XPath

ちなみに、Chrome で、XPathを取り出せるから、
それを、CSSセレクターに直せばよい

XPath では、[1] とか、順番で表示されるから、
順番が変わると取得できないので、CSSセレクターの方が良い

正規表現は、木構造に対応していない

<1><2></2><3></3></1>
これで、<1></2> が対応してしまう。
</1>よりも先に、</2>が見つかるから
2018/06/30(土) 00:29:34.13ID:tr0WXiW5
HTML のコメント要素なんて、作れるか?
2018/06/30(土) 10:27:04.47ID:vt/zfpeT
取得したいのは木構造ではない エロ画像だ
40デフォルトの名無しさん
垢版 |
2018/06/30(土) 12:22:39.79ID:QJJEkoJ9
空気嫁風船
2018/06/30(土) 18:42:58.71ID:T4yKqUWA
エロ画像を取得するために
木構造を解析するんだヴォケ
2018/07/01(日) 01:01:36.78ID:yaDvqYhr
性器表現でエロ画像を取得
43デフォルトの名無しさん
垢版 |
2018/07/01(日) 19:55:16.28ID:tGZJPJtp
初心者なんだけど、「パーフェクトパイソンPython」で書いてあるコードがPython 3.7で動かないのは、書籍が古すぎってことでいいのか?
2018/07/01(日) 20:01:59.65ID:usR85dqh
まともな本なら動作確認されてるバージョンがあるからそれ使えよ
なんで3.7使うの?
45デフォルトの名無しさん
垢版 |
2018/07/01(日) 20:52:12.89ID:tGZJPJtp
それが新しいからさ

とりあえず3.3で試してみる

ありがと
2018/07/01(日) 21:24:34.98ID:kmf9mETx
ステイブルを辞書でひこう
2018/07/01(日) 23:40:54.02ID:wtxZXieP
エロ画像 キボンヌに正規表現使わなかった。
https://ideone.com/hikEa4

linuxコマンドのwgetをwinコマンドかosモジュールで置き換えたら使える。
2018/07/02(月) 09:26:04.09ID:a3JLFqUP
imgのsrcはサムネ画像の場合があるからhrefから取らないとダメだよ ( ´,_ゝ`)プッ
49遊園地
垢版 |
2018/07/02(月) 11:03:32.08ID:+NSNTcQb
>>48
if文で全部取り除いた
50デフォルトの名無しさん
垢版 |
2018/07/02(月) 18:53:35.63ID:5apw8p9i
そんじゃ次は
クッキーやリファラに対応してみようか
2018/07/02(月) 19:27:46.78ID:+k/mS6Yk
3.7は何が新しいの?
2018/07/03(火) 00:45:35.71ID:q6vLd9up
起動が爆速になった
2018/07/04(水) 21:50:50.49ID:59VAySEO
Python3.5を使っています。
普段はbashでプログラミングをしているのですが、Python(3)にはいわゆる「正規表現演算子」はないのでしょうか。
'a' =~ '[abc]+'
にTrueを返し
'd' =~ '[abc]+'
にFalseを返すような演算子です。
if文で使われているようなのですが、==演算子のように直には使えないのでしょうか?
54デフォルトの名無しさん
垢版 |
2018/07/04(水) 21:53:56.40ID:gFgZc5FG
1FE
2018/07/04(水) 22:01:43.38ID:v2Sox3dI
>>53
ありませんなあ
56デフォルトの名無しさん
垢版 |
2018/07/04(水) 22:31:43.88ID:TkykG5xy
>>53
ありませんねぇ。
2018/07/04(水) 22:51:55.97ID:w3aVzChY
>>53
正規表現を全く必要としないアプリケーションも存在します、そのためそれらを含めて言語仕様を無駄に大きくする必要はありません

と言うことなので諦めてください
https://docs.python.jp/3/howto/regex.html#compiling-regular-expressions
2018/07/04(水) 22:56:14.86ID:na9DBSxB
>>53
正規表現にマッチしたらtrue しなかったらfalseを返してほしいなら

re module のre.matchのマッチオブジェクトをifの後にぶっこめばマッチすればtrueしなければnoneが返ってfalseになるよ
59デフォルトの名無しさん
垢版 |
2018/07/05(木) 11:43:41.72ID:IcGtf/nv
ageとく
2018/07/05(木) 21:26:50.59ID:CqUNBSEq
>>58
ごめんなさい。もうちょっと詳しく書いてもらってもいいですか。
できることならサンプルもちょろっといただけると嬉しいです。
61デフォルトの名無しさん
垢版 |
2018/07/05(木) 22:40:53.27ID:wMMrg/9A
>>60
https://ideone.com/55wqfj

これでいいかな?
2018/07/05(木) 23:07:07.10ID:sV2MZAFD
>>23
え?
2018/07/05(木) 23:42:10.60ID:CqUNBSEq
>>61
ありがとうございました。
2018/07/06(金) 01:11:38.30ID:i/IIW+Ad
う〜ん。演算子を自分で作れたら嬉しいんですけどね……。
2018/07/06(金) 07:17:03.39ID:JtODu3nj
>>64
クラス使えば演算子の定義もできるけど。
66遊園地 ◆ExGQrDul2E
垢版 |
2018/07/06(金) 14:48:21.33ID:SE3XEYsd
頼む! 助けてくれ!!

キーボードを、
エレコム ワイヤレスキーボード 静音タイプ メンブレン式 コンパクト ブラック TK-FDM078TBK
に変えたんだが、EnterとBackSpaceが押し難い。

どうしたら、良いんだ?
2018/07/06(金) 15:08:09.86ID:LdCqv7/c
キーの割り当て変えるツールで押しやすいキーと入れ替えれば当座はしのげるだろ
68デフォルトの名無しさん
垢版 |
2018/07/06(金) 15:17:47.09ID:odzQpd8G
ステマかよ
69デフォルトの名無しさん
垢版 |
2018/07/06(金) 15:33:29.76ID:SE3XEYsd
Firefoxのショートカット多様するから入れ替えるキーが思いつかん。
70デフォルトの名無しさん
垢版 |
2018/07/06(金) 15:38:38.61ID:odzQpd8G
キーボード追加汁
2018/07/06(金) 16:05:24.45ID:DEESRTvo
HHK使わないん?
2018/07/06(金) 16:09:00.39ID:24WPYeSf
そのうち慣れるよ、嫌なら他のキーボード買えばいいじゃん
押しやすいキーと入れ替えるという発想が信じられん バカなの?
2018/07/06(金) 16:33:27.16ID:SE3XEYsd
コンパクトで良いなー。と、思って買ったばかり何だよ。

スペース左側の変換をエンターにして、
カタカナひらがな の場所をバックスぺーすにした。
74デフォルトの名無しさん
垢版 |
2018/07/06(金) 16:56:40.78ID:odzQpd8G
>>72
https://pbs.twimg.com/media/DaUKL4lV4AEcjA5.jpg
https://pbs.twimg.com/media/DaUKL4lV4AEcjA5.jpg:large
75デフォルトの名無しさん
垢版 |
2018/07/06(金) 17:08:08.80ID:qtqoxO2d
これ面白いからおすすめ
https://goo.gl/U5BA1Y
2018/07/06(金) 19:06:08.08ID:cmD7yKAf
>>73
つemacs
課題は解決する。
2018/07/06(金) 23:42:38.37ID:W/isEwYg
enumerateとzipの合わせ技、快適すぎるw
range使ってインデックス作成していたのがアホみたい
2018/07/07(土) 23:15:16.85ID:7HLM3fyt
if num[temp] >0:
for i in range(result[temp]):
hoge1, hoge2 = hogehoge(a, b, c[temp])
result2 = hogex(d, hoge1, hoge2)

このようなループ処理を複数回(result回数分)行いたいです
多重forで書くととても重くなってしまうと思うのですが、何か良い高速化手法は無いですかね?

a, b, dは定数
cはリスト
hoge1, hoge2はint型の変数です
2018/07/08(日) 00:26:05.04ID:Jzinsuog
繰り返しhoge1、hoge2、result2に計算結果を書き込んでいるだけなのであれば、最後のただ1度だけ計算すればよいのでは?
質問は正確にー
2018/07/08(日) 03:29:49.37ID:/D8rnv+z
iがfor内部で使われてないように見えるから多分何かしら誤植があるんだろうけど
これだったら内包表記で書けるだろ
2018/07/08(日) 10:39:13.40ID:vD9CznKQ
根本的に高速化するなら行列形式で書くしかないけどな
82デフォルトの名無しさん
垢版 |
2018/07/08(日) 11:45:12.12ID:MJ8iSrG7
あほか
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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