Pythonのお勉強 Part53 [無断転載禁止]©2ch.net

■ このスレッドは過去ログ倉庫に格納されています
2017/05/13(土) 22:48:04.14ID:O7RODXwf
Pythonオフィシャルサイト
http://www.python.org/

まとめWiki
http://python.rdy.jp/
関連スレ
http://find.2ch.net/?BBS=ALL&;TYPE=TITLE&STR=python
日本Pythonユーザ会 (※英語わかる人は上記のオフィシャルの方を見ることをお薦めします)
http://www.python.jp/

日本語の扱いで戸惑ったらこちらをどうぞ(バッドノウハウ集で笑える)
ttp://speirs.blog17.fc2.com/blog-entry-4.html
ttp://atomic.jpn.ph/prog/etc/encode.html
ttp://d.hatena.ne.jp/kakurasan/20100330/p1

PythonのUnicodeEncodeErrorを知る
ttp://lab.hde.co.jp/2008/08/pythonunicodeencodeerror.html
よくまとまってた。あとで読む

■前スレ
Pythonのお勉強 Part52
http://echo.2ch.net/test/read.cgi/tech/1483756857/
2017/07/24(月) 20:48:30.25ID:wNRRvEva
https://docs.python.jp/3/
2017/07/24(月) 21:58:49.42ID:mIkz9O7d
for 0<mp:
call("ザラキ")
2017/07/25(火) 07:20:43.12ID:W0tEdzRz
えらく伸びてると思ったら変なやつがわいてるな。
2017/07/25(火) 08:06:58.89ID:gfZtnHNX
>>636
他の言語の経験は?初学?
2017/07/25(火) 09:00:58.08ID:vNmkdD4S
多少英語に自信があるなら
youtubeの外国人がやってる動画講座が良いんだけどな
動画だと少しずつ一緒にコードを書いていくからしょうもないミスに気づきやすいし


日本語だとあんまりいい動画がない 古かったり単純にイマイチだったり
2017/07/25(火) 14:14:42.91ID:2m7wTARV
>>581
ロングですまないが、その設計見てたらSQL書きたくなる中身だなw
2017/07/25(火) 21:46:29.36ID:fbDsXXAe
>>610
IBM基礎研を知らんが、レスが無くなったから、どうやらそれ程では無かったらしいな。
2017/07/25(火) 22:03:35.71ID:WM2az/6h
>>643
IBM基礎研は知っていてもいいところだよ。まああいつは嘘だったんだろうな。
2017/07/26(水) 02:42:46.25ID:zYo7MlcH
>>636
チュートリアルの日本語訳一通り読んだらだいたいわかるけどな。
2017/07/26(水) 08:05:25.39ID:Q0XaaVuf
>>645
本気か?お前天才かなにかだろ。
2017/07/26(水) 08:06:36.15ID:ZdFVUMtA
俺もチュートリアル日本語訳でやったな
いけたけど最速ではなかったかも
2017/07/26(水) 08:23:05.56ID:byKyVLqN
特に勉強してないけど使える
2017/07/26(水) 12:47:43.24ID:qX+5jH/5
お前らすげえな
2017/07/26(水) 13:24:26.96ID:2cxa226W
>>640
学校で昔、C言語ちろっとやった。自作関数まで。あとVBAすこし
2017/07/26(水) 13:37:28.46ID:qX+5jH/5
>>650
だったら日本語チュートリアル読んでいけばよさそうだ。
2017/07/26(水) 18:23:54.57ID:DhhelEan
そういえば「Python 3 エンジニア認定基礎試験」っていうのがあるんだが
出題範囲が「Pythonチュートリアル 第3版」になってる
https://www.pythonic-exam.com/exam/basic
2017/07/26(水) 23:16:19.46ID:qiVkp3Fv
ゴミ屑みたいな試験だな
逆にこんなん持ってる奴落とすかもしれんレベルで
654デフォルトの名無しさん
垢版 |
2017/07/26(水) 23:41:02.42ID:l6Uil5J+
twitterでやたらPyQ推してくる信者うざい
90日で即戦力になれるなら他の企業の面接落ちたらPyQ運営会社が責任持って雇うべき
2017/07/27(木) 09:02:46.31ID:xjbINDR0
今更認定試験ww
そんなん提示してきたら落とすしかない。地雷だ。
2017/07/27(木) 09:04:03.85ID:AUocNlfk
seleniumでヤフートップページのヤフトピの見出しを取得するコードを書いてます。

『エンタメ』項目を取得したいのですが、
以下のコードだと、レンダリング前の『ニュース』項目しか取得できません。

ページのクリック操作後、レンダリングされたページはどう扱えばいいのでしょうか?

from selenium import webdriver
driver = webdriver.Chrome()
driver.get('https://www.yahoo.co.jp/')
element = driver.find_element_by_link_text("エンタメ")
element.click()
for headline in driver.find_elements_by_css_selector('#topicsfb > div.topicsindex > ul.emphasis > li > a'):
print(headline.text)
2017/07/27(木) 10:18:40.23ID:FeDFxsXm
>>652
EDやめて
2017/07/27(木) 10:20:45.43ID:FeDFxsXm
>>656
あっちで聴け
http://medaka.2ch.net/php/
2017/07/27(木) 11:46:28.49ID:cUfLT5uP
>>656
feedparserでRSSフィードを取得するほうが良かろうもん
2017/07/27(木) 12:15:40.57ID:xjbINDR0
まあクロール禁止だからなw
そのためのAPIなわけだし。
661デフォルトの名無しさん
垢版 |
2017/07/27(木) 12:22:43.59ID:g7TDYGfS
>>656
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

wait = WebDriverWait(driver, 30)

↑これは最初だけ
↓これはgetの度に入れる
wait.until(EC.presence_of_all_elements_located)
2017/07/27(木) 13:36:14.44ID:DeIl3Fzc
>>656
素直に'https://news.yahoo.co.jp/hl?c=c_ent'にアクセスすれば良いと思いますっ!
ヤフトピと同じ内容でっす!
2017/07/27(木) 13:53:35.87ID:DeIl3Fzc
つまりヤフートップからエンタメのリンク先にアクセスして、『エンタメ』の項目を
取得すればいいかと・・
2017/07/27(木) 14:09:35.33ID:DeIl3Fzc
あっ、いや・・seleniumからアクセスするんじゃなくて・・その静的ページをですね・・
その・・ヤフートップからエンタメのリンク先は見えるわけじゃないですか!
レンダリング前の情報でエンタメのリンク先は見えるわけで、、その、リンク先をですね
アクセスしていけば、、その、、selenium使わなくても取得できるって思って、、その、あの・・
2017/07/27(木) 14:24:35.19ID:I9611UC0
スクレイピングでseleniumが必要になったことなんて
10年以上やってても両手の指より少ない
2017/07/27(木) 15:51:31.16ID:6cMM/X8b
10年前にseleniumはありません
667デフォルトの名無しさん
垢版 |
2017/07/27(木) 16:05:18.82ID:g7TDYGfS
scrapy 以外にcookieとか処理してくれるのってあるの?
2017/07/27(木) 16:17:17.36ID:mnn2pwA8
標準でcookieの処理もできないのはurllibくらいでしょ
2017/07/27(木) 17:03:59.58ID:jCS2CCab
15年前からPython一筋だが本職じゃないから不遇
2017/07/27(木) 18:09:19.53ID:jur1Zp0s
jsで動的ページはselenium必要じゃないかしら。
2017/07/27(木) 18:45:25.12ID:AUocNlfk
>>658-670 皆さんありがとうございます。

ご指摘通りヤフーなら静的ページ、APIやRSSなどから拾えるのですが、
本当の質問の狙いは、
タブ(リンク)をクリックするとページ内容が切り替わるような処理をしてる他サイトで
スクレイピングがしたいんです。

得意な方教え頂けたら幸いです。
2017/07/27(木) 19:02:47.72ID:AUocNlfk
なんか自己解決しました。
お世話になりました。
2017/07/27(木) 20:33:22.22ID:UckxgjK1
二度と戻ってくるなよ
2017/07/27(木) 21:23:53.95ID:wMuZ8h4A
こういうヤツは自己解決したら後の人のために情報残すこともなく消えるんだよな
2017/07/27(木) 21:58:32.36ID:8Pl9AOTH
pandasとhdf5組み合わせるとかなり強力だな
Panelの保存先として使ってもいいし、データフレームをNoSQLデータベースとしてhdf5に入れてもいい
pandasのHDFStore使えばNoSQLのパネルの出来上がり
あんまり話題にもならないのが不思議だ
676デフォルトの名無しさん
垢版 |
2017/07/27(木) 22:03:45.71ID:DDfF3pSC
株式会社メビウス(mob)
http://matsuri.2ch.net/test/read.cgi/infosys/1501121465/
2017/07/27(木) 23:38:17.20ID:xjbINDR0
>>675
hdf5かtinyDBで迷ってる
どっちも良い面がある。。。
2017/07/31(月) 13:23:18.22ID:6HhEiEMo
夏休みでのPython勉強用の本としてみんなのPythonとPythonによる機械学習入門
を借りたんだけど、他に面白い本ってあるかな?
C少し書ける、C++ほんの少し書ける、javaほんの少し書けるってレベルだからあまり難しすぎる本だとキツイかも
イマイチどんな事を出来るのかも分かってないから、何ができるのか可能性を見せてくれる本とかあるのかな?
2017/07/31(月) 13:53:27.12ID:u2+qVqAB
言語は何もしてくれない
やりたいことを実現するための手段だ
680デフォルトの名無しさん
垢版 |
2017/07/31(月) 14:37:40.28ID:iMrhnJDY
日本語のチュートリアル
2017/07/31(月) 16:09:34.00ID:eF2UOw7c
それこそ「退屈なことはPythonに〜」が良いんじゃない
682デフォルトの名無しさん
垢版 |
2017/07/31(月) 18:39:33.73ID:Y/tHh3+o
>>678
みんPyだけで機械学習の触りまで載ってるんだから、読み終わったらネットで調べながら十分好きなもの作っていけると思うが。。。
2017/07/31(月) 18:58:03.80ID:l4LMfIaP
pythonの勉強で機会学習とかやめとけ
機会学習の勉強したいわけじゃないならな
2017/07/31(月) 20:36:50.62ID:Qy2aWA/L
お遊びだろ
2017/07/31(月) 20:55:38.27ID:dJQ2wf7u
>>683
Pythonを出会いの道具にするなw
2017/07/31(月) 23:50:57.44ID:E3XZfITN
pythonで貧困調査をしたのです
2017/08/01(火) 00:41:13.18ID:Lo+24Uvw
ここはPyPyをですね〜
2017/08/01(火) 04:57:50.07ID:riInPRX8
ディープラーニングの質問ってここでいいですか?
689デフォルトの名無しさん
垢版 |
2017/08/01(火) 08:02:15.60ID:9U/HmOfZ
別スレあったよ。
690デフォルトの名無しさん
垢版 |
2017/08/01(火) 10:33:21.64ID:ruCh4NMH
正規表現の\dが1と1両方ヒットするの闇だわ
PHPでさえ区別できてるのにPythonクソすぎるわ
2017/08/01(火) 12:05:16.97ID:sRCfay+U
>>690
unicodeモードだと両方ヒットする言語は結構ある
2017/08/01(火) 12:09:25.64ID:aMSPqjqj
>>690
ASCIIフラグを使うと[0-9]のみにマッチする
あとbytesなら\dで全角数字(を表現しているバイト列)にはマッチしないよ
2017/08/01(火) 12:46:37.34ID:l7+zDrPj
腐ったPerlより最近メジャーなPythonを勉強してみたいとも思ったが
俺のエロはPowerShellで事足りてしまったのでそこで止まってしまった
694デフォルトの名無しさん
垢版 |
2017/08/01(火) 18:32:39.72ID:1yC+Zuhy
いいんじゃないか?
お前にまたエロが必要になれば、その時はいつだってPythonは手を貸してくれるさ
2017/08/01(火) 19:56:35.44ID:5oL4avyy
スクラッチから組むならPowerShell使えるとPythonの出番はあまりないだろうな
俺も最近はPowerShellばっかりだし
696デフォルトの名無しさん
垢版 |
2017/08/01(火) 21:39:40.07ID:MQYOuiNR
pythonもrubyのようにcursesが切られる日が来るのかね?
1ユーザーがcurses対応パッケージをメンテナンスするよりも公式に対応している言語のほうが安心感あるんだが
2017/08/01(火) 21:56:23.64ID:Hb3VpjbE
GUIのあるエロ動画ダウンローダ作ってみようと思うんだけどpythonでGUI実装するのって馬鹿かな?
C#の方が無難?
2017/08/01(火) 22:20:23.50ID:EmrmpNWS
ふーん、PowerShellってすごいんだね
2017/08/01(火) 23:11:03.12ID:LdsuQh2/
簡単なのだったらtkinterとかwxあるしそんな難しくないと思うよ
2017/08/02(水) 05:46:08.10ID:hAjQ7EiC
>>696
理由がない限り標準のモジュールは廃止されない
サードパーティ製のやつを使えみたいな理由では廃止されないと思う(requestsとurllibが実例)
けど標準ライブラリはモジュールがゆっくり死んでいく場所なので良くて枯れる、悪くて機能不全になる
2017/08/02(水) 08:48:30.55ID:Whf8Zy8q
>>699
PyQt5は駄目なの?
2017/08/02(水) 15:50:59.30ID:sVxbs3vJ
空のリストを指定した数だけ作るのはどうすればいいのでしょうか
たとえばi=10として10個つくりたいとき、リスト1=[] ,リスト2=[]...リスト10=[]って操作をiの値を変化させてもできるようにしたいです
2017/08/02(水) 16:24:58.88ID:5Ci0YpuZ
>>> for i in range(1,3): exec(f'リスト{i}=[]')

>>> リスト1
[]
>>> リスト2
[]
>>> リスト3
Traceback (most recent call last):
File "<pyshell#27>", line 1, in <module>
リスト3
NameError: name 'リスト3' is not defined
>>>
2017/08/02(水) 18:35:36.21ID:Itl2aFQC
>>702
i=10
[]*i
2017/08/02(水) 18:36:15.71ID:Itl2aFQC
ああごめん
[[],]*i
2017/08/02(水) 23:31:04.93ID:l7kAE4SE
>>701
pyqtでもいいとおもう
自分が使ったことないから挙げなかっただけだから
2017/08/04(金) 09:34:47.06ID:32r2V8m3
個人的にはXRC使えるからwx推しかな、、、
2017/08/04(金) 18:15:59.49ID:s165HGyM
アンドロイドにqpython入れてなんか便利な使い方ありますね?
2017/08/05(土) 17:09:29.04ID:7B4oXeSv
みんPyのkindle版が50%ポイント還元中 8/10まで
2017/08/05(土) 17:51:47.49ID:Oy4N3RW1
半額ポイントバックか、んー
みんパイはウェブアプリ編をキンドルセルフパブリッシングでだしてくれないかな、サイトのコピペでいいから1000円くらいで
2017/08/07(月) 07:53:17.80ID:rbfj2AFk
HTML版あるからちょちょっと吸い出してPDF化すりゃいいんでね
2017/08/07(月) 19:36:13.60ID:0wpDHVWB
>>> 0x_FF_FF_FF_FF
4294967295

乱視には非常に助かる機能♪
2017/08/15(火) 13:36:20.49ID:aq+IYEfH
>>711
PDF版もあるよ
2017/08/15(火) 14:07:09.63ID:bKtDHG6Y
みんpy webアプリ編わかりやすくて助かるけど
pyton3で動かすと色々不具合でるから困ってる。
横書きの入力を縦書きに変換するサンプルがどうしても直せない。
2017/08/15(火) 15:08:15.24ID:QIwBtXy4
>>> horizontal = '''abcde
ABCDE
12345
TUVWX'''
>>> print(horizontal)
abcde
ABCDE
12345
TUVWX
>>> tmp = horizontal.split('\n')
>>> tmp
['abcde', 'ABCDE', '12345', 'TUVWX']
>>> tmp = list(zip(*tmp))
>>> tmp
[('a', 'A', '1', 'T'), ('b', 'B', '2', 'U'), ('c', 'C', '3', 'V'), ('d', 'D', '4', 'W'), ('e', 'E', '5', 'X')]
>>> vertical = '\n'.join([''.join(i[::-1]) for i in tmp])
>>> print(vertical)
T1Aa
U2Bb
V3Cc
W4Dd
X5Ee
>>>
2017/08/15(火) 16:43:42.59ID:LOEABJJK
縦書きはwebアプリならcssでやるところでは
2017/08/15(火) 18:18:59.07ID:aq+IYEfH
そうだね
しかも縦書きは閲覧するブラウザによって挙動が異なるので、
結構苦労した記憶がある
2017/08/15(火) 18:41:47.16ID:aq+IYEfH
>>714
実際にみんpyのソース読んでみたけど、
かなり強引過ぎるしこれじゃ応用が効かないよ
Python使わずにhtmlとcssで実現する方法を習得した方がいいと思う
2017/08/15(火) 19:16:43.70ID:bKtDHG6Y
なるほどありがとうございます。
確かにただ配列を転置しただけだと長音記号が横書きのままだったり色々と追加の考慮が必要です。

ちなみにインタプリタをpython3に変えて出るエラーのほとんどはprint文に()が無いことに由来するので修正は簡単です。
2017/08/15(火) 19:42:53.63ID:QIwBtXy4
えっ? えっ? ・・・ あれ?  え・・・えぇ〜〜〜!?
2017/08/15(火) 19:51:31.68ID:bKtDHG6Y
>>720
2バイト文字で桁あふれを起こす行を含む配列を転置すると妙なことが起こります
722デフォルトの名無しさん
垢版 |
2017/08/15(火) 19:54:21.78ID:dMwoczm6
どちらかと言うと半角禁止
723デフォルトの名無しさん
垢版 |
2017/08/15(火) 20:53:14.00ID:He/PCm03
append(ngwordlist, "みんpy")
append(ngwordlist, "PyQ")
2017/08/15(火) 21:11:00.96ID:bQRwOotW
みんpyの作者無能すぎるだろ・・
2017/08/15(火) 21:37:20.86ID:QIwBtXy4
>>> from itertools import zip_longest
>>> import unicodedata
>>> horizontal='''半角文字に半角スペース追加しても
色々狂っちゃうのねん
みんpyの作者無能すぎるだろ・・'''
>>> tmp = zip_longest(*horizontal.split('\n'), fillvalue=' ')
>>> tmp = [[j if unicodedata.east_asian_width(j) == 'W' else ' '+j for j in i] for i in tmp]
>>> vertical = '\n'.join([''.join(i[::-1]) for i in tmp])
>>> print(vertical)
み色半
ん々角
p狂文
yっ字
のちに
作ゃ半
者う角
無の ス
能ね ヘ
すん ゚
ぎ ー
る ス
だ 追
ろ 加
・ し
・ て

>>>
2017/08/15(火) 21:42:56.31ID:QIwBtXy4
あっw これ2chだから半角スペース消えて表示がおかしいけど、IDLEだともちょっとマシになるんやでー
2017/08/15(火) 22:18:16.28ID:bKtDHG6Y
>>725
おお!きれいに転置されてる!
728デフォルトの名無しさん
垢版 |
2017/08/15(火) 22:53:12.96ID:N5A0dKwj
そういう事じゃない
729デフォルトの名無しさん
垢版 |
2017/08/15(火) 23:43:55.63ID:UpIK9bvo
なんでpython3はutf8なのにファイルのデフォルトはutf8にしなかったの?
2017/08/16(水) 00:46:10.19ID:svuITJor
python3ではスクリプトファイルのデフォルトエンコーディングはutf-8だけど
昔の話ならpythonとユニコードは1991年、utf-8は1996年にできたので無いものは採用できない
python2までデフォルトがasciiだったのは後方互換性を守るため
731デフォルトの名無しさん
垢版 |
2017/08/16(水) 01:06:59.05ID:wkNIASRz
>>730
ありがとう openの話で地域によってデフォの文字コードが違うんですよね
こっちも統一すると問題があったんですかね
2017/08/16(水) 04:17:25.37ID:svuITJor
>>731
そっちのファイルか
open()のencodingのデフォルトがユーザ設定依存なのはまあ空気読む的なやつ
utf-8じゃない環境もあるから他のコマンドとの協調を考えるとutf-8固定は微妙かも
2017/08/16(水) 12:27:56.45ID:bQzHAUsN
pyqをぼちぼちやってるけど所々微妙じゃない?
問題文が間違ってたり、分かりにくかったりとかイライラする
仕舞には演習で習ってないことをぶっ込んでくるし
2017/08/16(水) 12:54:41.34ID:3bnKMwl5
えぇー? 「あの本気でプログラミングを学びたいあなたへ」のパ、パパパパ・・PyQでつか?
ブラウザだけで学習できて、実力と証明と理解をゲットできるあ、あのパ、パパパパ・・PyQのことでつか?

「技術書1冊分の値段から1ヶ月まるまる学習できます」ってどーいうことー?
内容は? 内容が技術書1冊分より少ないなら技術書買った方が安上がりじゃーん
735デフォルトの名無しさん
垢版 |
2017/08/16(水) 12:56:29.43ID:502D6oX4
対してスキルないのになぜかフォロワーが多いあの人もPyQを定期的に推してるけど
宣伝すると報酬でも貰えるの?
736デフォルトの名無しさん
垢版 |
2017/08/16(水) 14:18:55.63ID:wkNIASRz
>>732
ありがとう 毎回指定するしかないか!
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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