このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますが、お礼は Python の布教と初心者の救済をお願いします。
エラーを解決したいときはエラー表示や環境(バージョン/IDE or command line)を略さずに書き込んで下さい。
騙りが頻発しています。質問する方は一時的なトリップをつけることを検討して下さい。
次スレは >>985 辺りで
前スレ
くだすれPython(超初心者用) その38
https://mevius.5ch.net/test/read.cgi/tech/1526522954/
探検
くだすれPython(超初心者用) その39
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2018/08/24(金) 07:50:35.97ID:VD4/++xS459デフォルトの名無しさん
2018/10/14(日) 22:52:00.55ID:FWr9wKhu >>458
ありがとーん
ありがとーん
460デフォルトの名無しさん
2018/10/14(日) 22:53:21.18ID:O0tCb1jZ 結局スコープ内でしか有効じゃないから確かめる方法は無いってこと?
461デフォルトの名無しさん
2018/10/14(日) 22:53:49.91ID:jLw0xcfm たいへん勉強になりますた。
462デフォルトの名無しさん
2018/10/15(月) 04:25:17.24ID:0W4mw5Ny463デフォルトの名無しさん
2018/10/15(月) 08:59:02.58ID:pyA/8yHB キャッシュはどうやって見れますか?
mainでキャッシュ見れる関数を書くのですか?
mainでキャッシュ見れる関数を書くのですか?
464デフォルトの名無しさん
2018/10/15(月) 09:32:04.81ID:vNVpiBIf マジでアホの考えなんとやらだ
importするとクラッシュするモジュールを用意して
func1からimportしてみりゃーいいだろ
クラッシュすればimportされてるし、しないならimportされていない
importするとクラッシュするモジュールを用意して
func1からimportしてみりゃーいいだろ
クラッシュすればimportされてるし、しないならimportされていない
465デフォルトの名無しさん
2018/10/15(月) 09:56:16.94ID:XOcEM3KA importするとクラッシュするモジュールが発見出来ませんでした・・
よければ名前を教えて貰えますか?pipで入れられたらなおありがたいです。
よければ名前を教えて貰えますか?pipで入れられたらなおありがたいです。
466デフォルトの名無しさん
2018/10/15(月) 09:57:31.08ID:vNVpiBIf いや、自分で書けばいいだろ
馬鹿が
馬鹿が
467デフォルトの名無しさん
2018/10/15(月) 10:31:21.43ID:/DZZgAIK importするmoduleを自分で書くなら
moduleの初期化時にprint('読まれたよ!')って書いて置けば桶
moduleの初期化時にprint('読まれたよ!')って書いて置けば桶
468デフォルトの名無しさん
2018/10/15(月) 12:38:01.14ID:A4+xGAqj なんなの遊園地?
469デフォルトの名無しさん
2018/10/15(月) 16:32:59.34ID:13a7w8hI >>467
天才現る!
天才現る!
470デフォルトの名無しさん
2018/10/15(月) 18:05:35.02ID:5iEXqQwD >>460
スコープ内で有効だから確かめられないではなくグローバル変数にすれば良いのでは
def func():
import re as _re
global re
re = _re
def main():
func() #コメントアウトするとprintでエラー
print(re)
スコープ内で有効だから確かめられないではなくグローバル変数にすれば良いのでは
def func():
import re as _re
global re
re = _re
def main():
func() #コメントアウトするとprintでエラー
print(re)
471デフォルトの名無しさん
2018/10/15(月) 18:19:51.97ID:/DZZgAIK def main():
#func() #func()無関係にprintでエラー
import re as _re
print(re)
#func() #func()無関係にprintでエラー
import re as _re
print(re)
472デフォルトの名無しさん
2018/10/15(月) 21:29:43.28ID:E6pr56BO 私たち日本人の、日本国憲法を改正しましょう。
総ム省の、『憲法改正國民投票法』、でググって
みてください。拡散も含め、お願い致します。
総ム省の、『憲法改正國民投票法』、でググって
みてください。拡散も含め、お願い致します。
473デフォルトの名無しさん
2018/10/15(月) 21:35:11.02ID:E6pr56BO 私たち日本人の、日本国憲法を改正しましょう。
総ム省の、『憲法改正國民投票法』、でググって
みてください。拡散も含め、お願い致します。
総ム省の、『憲法改正國民投票法』、でググって
みてください。拡散も含め、お願い致します。
474デフォルトの名無しさん
2018/10/16(火) 17:08:42.26ID:u7YyW5Kg 自作クラスのインスタンスが持ってる変数を全て、保存しておいた値に戻すようなコードを書きたいのだけれど、どうやって書けばいいかな?
ある時点の値にロールバックしたいということなのだけれど、継承していてもちゃんと動作するようにしたい
想定している処理はこんな感じ
class A:
def rollback(self):
全部のインスタンス変数を self.backup の値に戻す
def make_backup(self):
self.backup = バックアップを作成
class B(A):
def proc(self):
self.make_backup()
# なんか処理
self.rollback()
設計が悪いと感じたらなにか代替案を教えていただければ嬉しいです
ある時点の値にロールバックしたいということなのだけれど、継承していてもちゃんと動作するようにしたい
想定している処理はこんな感じ
class A:
def rollback(self):
全部のインスタンス変数を self.backup の値に戻す
def make_backup(self):
self.backup = バックアップを作成
class B(A):
def proc(self):
self.make_backup()
# なんか処理
self.rollback()
設計が悪いと感じたらなにか代替案を教えていただければ嬉しいです
475デフォルトの名無しさん
2018/10/16(火) 18:16:27.10ID:YLHbxnbG pickle
476デフォルトの名無しさん
2018/10/16(火) 18:24:52.10ID:LVmCdvc6 あの、プログラム終わったら次のプログラムを起動したいのですがどうやったら開けますか?
最後にはシャットダウンしたいです。
p1.py実行
→最後の行でp2.pyを呼び出す
→p2.py実行
...
→最後の行でpn.pyを呼び出す
→pn.py実行
→最後の行でシャットダウン
こんな感じでやりたいです。
最後にはシャットダウンしたいです。
p1.py実行
→最後の行でp2.pyを呼び出す
→p2.py実行
...
→最後の行でpn.pyを呼び出す
→pn.py実行
→最後の行でシャットダウン
こんな感じでやりたいです。
477デフォルトの名無しさん
2018/10/16(火) 18:28:08.45ID:YLHbxnbG subprocess.Popen
478デフォルトの名無しさん
2018/10/16(火) 18:32:15.10ID:LVmCdvc6 ありがとうございます、できそうです。
479デフォルトの名無しさん
2018/10/16(火) 18:34:41.31ID:+Y6Wm7U2 パイパイを実行?
480デフォルトの名無しさん
2018/10/16(火) 21:07:08.91ID:uMB0oNTu >>476
それチェーンにしないとダメなの?
普通にp1.py, p2.py, ..., pn.pyを次々に呼び出して最後にシャットダウンするシェルスクリプトなりバッチファイルなりを書けばいいような気もするんだが
それチェーンにしないとダメなの?
普通にp1.py, p2.py, ..., pn.pyを次々に呼び出して最後にシャットダウンするシェルスクリプトなりバッチファイルなりを書けばいいような気もするんだが
481デフォルトの名無しさん
2018/10/17(水) 11:21:44.01ID:tSH31TrF >>474
グローバル変数使うんじゃだめ?
グローバル変数使うんじゃだめ?
482デフォルトの名無しさん
2018/10/17(水) 11:49:20.45ID:LtC7K5yP ORM
483デフォルトの名無しさん
2018/10/17(水) 12:47:48.23ID:tSH31TrF >>474
>>481です。知ったかぶりしてすみません。グローバル変数ではなくクラス変数でした。
test.pyで
class MyClass:
commonVALUE=0
def __init__(self,initv):
self.value=initv
def p(self):
print(f'instance value= {self.value}')
print(f'class value= {MyClass.commonVALUE}')
def bkup(self):
MyClass.commonVALUE=self.value
def bkload(self):
self.value=MyClass.commonVALUE
としといて
>>> from test import *
>>> a=MyClass(100)
>>> b=Myclass(0)
>>> a.bkup()
>>> b.p()
instance value= 0
class value= 100
>>> b.bkload()
>>> b.p()
instance value= 100
class value= 100
この後で
>>> c=MyClass(-1)とあらたにインスタンスを作っても
>>> c.p()
instance value= -1
class value= 100
で、クラス変数は0にはならないみたい。
>>481です。知ったかぶりしてすみません。グローバル変数ではなくクラス変数でした。
test.pyで
class MyClass:
commonVALUE=0
def __init__(self,initv):
self.value=initv
def p(self):
print(f'instance value= {self.value}')
print(f'class value= {MyClass.commonVALUE}')
def bkup(self):
MyClass.commonVALUE=self.value
def bkload(self):
self.value=MyClass.commonVALUE
としといて
>>> from test import *
>>> a=MyClass(100)
>>> b=Myclass(0)
>>> a.bkup()
>>> b.p()
instance value= 0
class value= 100
>>> b.bkload()
>>> b.p()
instance value= 100
class value= 100
この後で
>>> c=MyClass(-1)とあらたにインスタンスを作っても
>>> c.p()
instance value= -1
class value= 100
で、クラス変数は0にはならないみたい。
484デフォルトの名無しさん
2018/10/17(水) 13:06:09.93ID:tSH31TrF 行数制限のため連投ですみません。
継承も大丈夫です。
>>> class B(MyClass):
... def dec(self):
... self.value-=1
>>> d=B(1)
>>> d.p()
instance value= 1
class value= 100
>>> a.bkup()
>>> d.p()
instance value= 1
class value= 100
>>> d.bkload()
>>> d.dec()
>>> d.p()
instance value= 99
class value= 100
継承も大丈夫です。
>>> class B(MyClass):
... def dec(self):
... self.value-=1
>>> d=B(1)
>>> d.p()
instance value= 1
class value= 100
>>> a.bkup()
>>> d.p()
instance value= 1
class value= 100
>>> d.bkload()
>>> d.dec()
>>> d.p()
instance value= 99
class value= 100
485デフォルトの名無しさん
2018/10/17(水) 13:31:27.53ID:LGIAN4QA pickle
486デフォルトの名無しさん
2018/10/17(水) 13:35:53.65ID:cWz6TRDk487デフォルトの名無しさん
2018/10/17(水) 17:07:18.34ID:tSH31TrF >>486
クラスと継承クラス共通でバックアップって意味じゃないの? そりゃスマンコってす
...
各インスタンスごとのバックアップを作って、一括でpush/popしたいなら、
リストの要素を各インスタンスをにしといて、
for i in in instance_list:
i.backup()
とかにすればいいだけなんでねの?
クラスと継承クラス共通でバックアップって意味じゃないの? そりゃスマンコってす
...
各インスタンスごとのバックアップを作って、一括でpush/popしたいなら、
リストの要素を各インスタンスをにしといて、
for i in in instance_list:
i.backup()
とかにすればいいだけなんでねの?
488デフォルトの名無しさん
2018/10/18(木) 10:08:35.95ID:0gY6dccD >>487
push-popと言いながらプログラムはpush-popじゃないのはわざと?
push-popと言いながらプログラムはpush-popじゃないのはわざと?
489デフォルトの名無しさん
2018/10/18(木) 16:41:15.03ID:551Ojw2f def 関数(arg1,arg2):
ゴニョゴニョ
return ←これが全く理解できないんだけど、目からウロコみたいなページみたいなのないです?
returnが入ると全くわからない。
ゴニョゴニョ
return ←これが全く理解できないんだけど、目からウロコみたいなページみたいなのないです?
returnが入ると全くわからない。
490デフォルトの名無しさん
2018/10/19(金) 07:14:22.21ID:97FgwNUY codecs.openて普通のopenより処理重いきがするんですが認識あってるかね?
2.7使ってて文字コード指定で100mb前後のtxtなりcsvてり触りたいんだけど通常のopenでは文字指定出来ず、ioモジュールのopen使うと他のライブラリで使ってるopenの挙動がおかしくなる(?)し、codecs遅いしでどうするのがスマートなのかわからん
2.7使ってて文字コード指定で100mb前後のtxtなりcsvてり触りたいんだけど通常のopenでは文字指定出来ず、ioモジュールのopen使うと他のライブラリで使ってるopenの挙動がおかしくなる(?)し、codecs遅いしでどうするのがスマートなのかわからん
491デフォルトの名無しさん
2018/10/19(金) 08:17:42.62ID:5hJcbR3H codecs.openを使う
そもそもopenに追加処理をしてるのだから、重くて当たり前だろう
そもそもopenに追加処理をしてるのだから、重くて当たり前だろう
492デフォルトの名無しさん
2018/10/19(金) 12:51:38.13ID:jQ8EJjtV493デフォルトの名無しさん
2018/10/20(土) 14:00:43.26ID:aYMp4dZA https://github.com/michaldaniel/Ebook-Viewer
こちらのgitで公開されているLinux用epubビューアを改造して使いやすくしようと思っているのですが、
行き詰まってしまいました。
ブラウザの戻るボタンのようにリンク先(引用元など)に飛んだ後、直前に戻るボタンを実装したいのですが
(ボタンはgtk3の都合上up arrowボタンを使っています)
改造したのはheader_bar.pyでして、
def __populate_headerbar(self):
(途中省略)
# Adds up arrow chapter navigation button
self.up_arrow_button = Gtk.Button()
self.up_arrow_button.add(Gtk.Arrow(Gtk.ArrowType.UP, Gtk.ShadowType.NONE))
self.up_arrow_button.set_sensitive(False);
self.up_arrow_button.connect("clicked", self.__on_up_arrow_clicked)
navigation_box.add(self.up_arrow_button)
(途中省略)
def __on_up_arrow_clicked(self, button):
"""
Handles Up Arrow clicked navigation event, go backward
:param button:
"""
if viewer.Viewer.can_go_back():
viewer.Viewer.go_back()
とすると、
WebKit.WebView.can_go_back() takes exactly 1 argument (0 given)
というエラーがでてしまいます。
(viewer.Viewerはwebkitを継承したものです)
どなたかお知恵をお貸し願えたら幸いです。
こちらのgitで公開されているLinux用epubビューアを改造して使いやすくしようと思っているのですが、
行き詰まってしまいました。
ブラウザの戻るボタンのようにリンク先(引用元など)に飛んだ後、直前に戻るボタンを実装したいのですが
(ボタンはgtk3の都合上up arrowボタンを使っています)
改造したのはheader_bar.pyでして、
def __populate_headerbar(self):
(途中省略)
# Adds up arrow chapter navigation button
self.up_arrow_button = Gtk.Button()
self.up_arrow_button.add(Gtk.Arrow(Gtk.ArrowType.UP, Gtk.ShadowType.NONE))
self.up_arrow_button.set_sensitive(False);
self.up_arrow_button.connect("clicked", self.__on_up_arrow_clicked)
navigation_box.add(self.up_arrow_button)
(途中省略)
def __on_up_arrow_clicked(self, button):
"""
Handles Up Arrow clicked navigation event, go backward
:param button:
"""
if viewer.Viewer.can_go_back():
viewer.Viewer.go_back()
とすると、
WebKit.WebView.can_go_back() takes exactly 1 argument (0 given)
というエラーがでてしまいます。
(viewer.Viewerはwebkitを継承したものです)
どなたかお知恵をお貸し願えたら幸いです。
494デフォルトの名無しさん
2018/10/20(土) 14:07:46.36ID:u8BRF3D8495デフォルトの名無しさん
2018/10/20(土) 14:24:18.46ID:n6bj2eyU >>493
インスタンスメソッドをクラスメソッドみたいにして読んでるから、第一引数として暗黙的に渡されるはずだったselfが足りないって怒られてる。
ソースを斜め読みするとViewerのインスタンスはインスタンス構造上の親であるMainWindowが持っているようなので、
self.__window.viewer.can_go_back()でアクセスできるんじゃないかな
インスタンスメソッドをクラスメソッドみたいにして読んでるから、第一引数として暗黙的に渡されるはずだったselfが足りないって怒られてる。
ソースを斜め読みするとViewerのインスタンスはインスタンス構造上の親であるMainWindowが持っているようなので、
self.__window.viewer.can_go_back()でアクセスできるんじゃないかな
496493
2018/10/20(土) 15:04:15.12ID:aYMp4dZA >>495
if self.__window.viewer.can_go_back():
self.__window.viewer.go_back()
と書いてやってみたらエラーメッセージはでませんでしたが画面が真っ白になってしまいました。
とはいえ、当初のエラーは解消したので大きな進歩です。どうもありがとうございました。
後は勉強がてら自分でやってみます。
if self.__window.viewer.can_go_back():
self.__window.viewer.go_back()
と書いてやってみたらエラーメッセージはでませんでしたが画面が真っ白になってしまいました。
とはいえ、当初のエラーは解消したので大きな進歩です。どうもありがとうございました。
後は勉強がてら自分でやってみます。
497デフォルトの名無しさん
2018/10/20(土) 15:04:58.12ID:aYMp4dZA >>494
さんもレスありがとうございました。
さんもレスありがとうございました。
498デフォルトの名無しさん
2018/10/20(土) 18:30:22.23ID:V2vR4ZZl499デフォルトの名無しさん
2018/10/20(土) 18:31:25.93ID:V2vR4ZZl >>490
from codecs import open as codecsopen
とかやって、
codecsまるごとじゃなくcodecs.openだけ読むようにすればちょっとははやくできる
ちょっとは。
from codecs import open as codecsopen
とかやって、
codecsまるごとじゃなくcodecs.openだけ読むようにすればちょっとははやくできる
ちょっとは。
500デフォルトの名無しさん
2018/10/22(月) 23:03:44.42ID:bT6j7LGV 素人質問で申し訳ないのですが助けていただきたく質問します。
いま「みんなのPython」をやりはじめたのですが
Anacondaがうまくできません
最初に普通?のPythonをインストールして
そのあとにPythonをアンインストールしたあと
Anacondaをインストールしました。
そして「ファイル名を指定して実行」で「python.exe」と入力しても
「'python.exe'が見つかりません」となってしまいます。
Windows PowerShellで「>python」と入力しても
「用語 'python' は、コマンドレット、関数、スクリプト ファイル、または操作可能なプログラムの名前として認識されません」
となってしまいます。
Anacondaのインストールでは
「Add Anaconda to my PATH environment variable」にはチェックは入れてません
「Register Anaconda as my default Python 3.6」にはチェックを入れました。
いま「みんなのPython」をやりはじめたのですが
Anacondaがうまくできません
最初に普通?のPythonをインストールして
そのあとにPythonをアンインストールしたあと
Anacondaをインストールしました。
そして「ファイル名を指定して実行」で「python.exe」と入力しても
「'python.exe'が見つかりません」となってしまいます。
Windows PowerShellで「>python」と入力しても
「用語 'python' は、コマンドレット、関数、スクリプト ファイル、または操作可能なプログラムの名前として認識されません」
となってしまいます。
Anacondaのインストールでは
「Add Anaconda to my PATH environment variable」にはチェックは入れてません
「Register Anaconda as my default Python 3.6」にはチェックを入れました。
501デフォルトの名無しさん
2018/10/22(月) 23:37:57.82ID:aY20u7RH 英語よめや。
502デフォルトの名無しさん
2018/10/22(月) 23:54:05.62ID:bT6j7LGV >>501
環境変数PATHを設定する | Pythonインストールと環境設定
https://www.javadrive.jp/python/install/index3.html
このサイトに書いてあるようにやったらできたんですけど
これでいいんですか?
環境変数PATHを設定する | Pythonインストールと環境設定
https://www.javadrive.jp/python/install/index3.html
このサイトに書いてあるようにやったらできたんですけど
これでいいんですか?
503デフォルトの名無しさん
2018/10/23(火) 01:14:29.19ID:uxH9lXGD カレントフォルダからは「相対パス/python.exe」で実行できる。
カレントフォルダ以外からも実行したいのなら「絶対パス/python.exe」で実行できる
カレントフォルダ以外からも「python」というコマンドで実行したいのなら、
「python.exe」のあるフォルダを、ユーザー環境変数PATH に登録しないといけない
例えば、コマンドプロンプトで、以下のように入力すると、
where notepad
where python
そのコマンドの実行ファイルのある、場所を表示できる
カレントフォルダ以外からも実行したいのなら「絶対パス/python.exe」で実行できる
カレントフォルダ以外からも「python」というコマンドで実行したいのなら、
「python.exe」のあるフォルダを、ユーザー環境変数PATH に登録しないといけない
例えば、コマンドプロンプトで、以下のように入力すると、
where notepad
where python
そのコマンドの実行ファイルのある、場所を表示できる
504デフォルトの名無しさん
2018/10/23(火) 06:47:31.22ID:EmL9QD5v はじめまして ラズパイでpythonを利用してます。
Python3 ide?でファイルを実行するとmoduleエラーが起きるんですけど、lxterminalで実行したりcronで実行するとエラーはでないで実行できます。
実行できるので問題ないのですが、なんでpython3 ideで実行するとmoduleエラーになるのかが気になります
詳しい方 お気づきがあれば教えてください
Python3 ide?でファイルを実行するとmoduleエラーが起きるんですけど、lxterminalで実行したりcronで実行するとエラーはでないで実行できます。
実行できるので問題ないのですが、なんでpython3 ideで実行するとmoduleエラーになるのかが気になります
詳しい方 お気づきがあれば教えてください
505デフォルトの名無しさん
2018/10/23(火) 07:07:12.22ID:EmL9QD5v 追加ですが温度センサー使ってます。githubからすべて入手したものです。
ググってもなぜかエラー出るよみたいなことが書かれていて原因は不明だったのでお聞きしました。
ググってもなぜかエラー出るよみたいなことが書かれていて原因は不明だったのでお聞きしました。
506デフォルトの名無しさん
2018/10/23(火) 10:24:36.04ID:d2CNB2CT Python3でのsqlalchemyについて教えてください
https://ideone.com/tVSjwB
56行目のsession.commit()でエラーになってしまいます。
sqlalchemy.exc.IntegrityError: (sqlite3.IntegrityError) CHECK constraint failed: winners
[SQL: 'INSERT INTO winners (name, category, year, nationality, sex) VALUES (?, ?, ?, ?, ?)']
[parameters: ('Marie Curie', 'Chemistry', 1911, 'Polish', 'Female')] (Background on this error at: http://sqlalche.me/e/gkpj)
こんな風に書かれてあります。(長いのでここに書くときに改行しました)
何がいけないのでしょうか?
https://ideone.com/tVSjwB
56行目のsession.commit()でエラーになってしまいます。
sqlalchemy.exc.IntegrityError: (sqlite3.IntegrityError) CHECK constraint failed: winners
[SQL: 'INSERT INTO winners (name, category, year, nationality, sex) VALUES (?, ?, ?, ?, ?)']
[parameters: ('Marie Curie', 'Chemistry', 1911, 'Polish', 'Female')] (Background on this error at: http://sqlalche.me/e/gkpj)
こんな風に書かれてあります。(長いのでここに書くときに改行しました)
何がいけないのでしょうか?
507デフォルトの名無しさん
2018/10/23(火) 10:29:07.79ID:ki4w8hD+ >>504
同じPythonを実行してる?(公式の純正PythonとAnacondaとか)
同じPythonを実行してる?(公式の純正PythonとAnacondaとか)
508デフォルトの名無しさん
2018/10/23(火) 10:35:04.61ID:ki4w8hD+ >>506
yearはStringじゃなくてIntegerじゃ…?
yearはStringじゃなくてIntegerじゃ…?
509デフォルトの名無しさん
2018/10/23(火) 10:40:12.34ID:d2CNB2CT510デフォルトの名無しさん
2018/10/23(火) 10:45:40.79ID:d2CNB2CT511デフォルトの名無しさん
2018/10/23(火) 10:48:34.83ID:ki4w8hD+ >>510
その方がpep8に則ると正しいね
その方がpep8に則ると正しいね
512デフォルトの名無しさん
2018/10/23(火) 10:56:47.49ID:zGwQ/J/L >>511
どうもありがとうございました
どうもありがとうございました
513デフォルトの名無しさん
2018/10/23(火) 11:09:52.98ID:zGwQ/J/L 連投すみません
SQLAlchemyでのデータベースへのアクセスについてですが、filterとfilter_byってどう使い分けするんでしょうか?
違いが分からないです
# スイス人受賞者の取得
# filter_by の場合
result = session.query(Winner).filter_by(nationality='Swiss')
# filter の場合
result = session.query(Winner).filter(Winner.nationality == 'Swiss')
print(list(result))
SQLAlchemyでのデータベースへのアクセスについてですが、filterとfilter_byってどう使い分けするんでしょうか?
違いが分からないです
# スイス人受賞者の取得
# filter_by の場合
result = session.query(Winner).filter_by(nationality='Swiss')
# filter の場合
result = session.query(Winner).filter(Winner.nationality == 'Swiss')
print(list(result))
514デフォルトの名無しさん
2018/10/23(火) 11:13:00.78ID:aeA+1VC2 gtk3とpythonのpygobjectで質問があります。
https://stackoverflow.com/questions/41696515/webkit2gtk-webview-touchscreen-scrolling
こちらの質問にあるとおり、webkit2gtkを使うとlibwebkit1-3.0の時のようなタッチスクリーンによる
スクロールができなくなってしまうのですが、何とかタッチによるスクロール(パンというようですが)
をしたいのです。こちらの質問者の方はコールバック関数にスクロールイベントを書いたらできたと
書いてありましたが、具体的にはどのように記述すれば良いのでしょうか?
https://lazka.github.io/pgi-docs/
こちらのpygobjectのAPIを見てもよくわかりませんでした。どうかよろしくお願いします。
https://stackoverflow.com/questions/41696515/webkit2gtk-webview-touchscreen-scrolling
こちらの質問にあるとおり、webkit2gtkを使うとlibwebkit1-3.0の時のようなタッチスクリーンによる
スクロールができなくなってしまうのですが、何とかタッチによるスクロール(パンというようですが)
をしたいのです。こちらの質問者の方はコールバック関数にスクロールイベントを書いたらできたと
書いてありましたが、具体的にはどのように記述すれば良いのでしょうか?
https://lazka.github.io/pgi-docs/
こちらのpygobjectのAPIを見てもよくわかりませんでした。どうかよろしくお願いします。
515デフォルトの名無しさん
2018/10/23(火) 11:16:03.36ID:zGwQ/J/L >>513ですけど、
ふた通りの書き方があるよ、Pythonらしく、より簡単に書く方法はfilter_byの方だよって事ですかね?
ふた通りの書き方があるよ、Pythonらしく、より簡単に書く方法はfilter_byの方だよって事ですかね?
516デフォルトの名無しさん
2018/10/23(火) 12:43:50.18ID:EmL9QD5v517デフォルトの名無しさん
2018/10/23(火) 13:18:18.96ID:ki4w8hD+518デフォルトの名無しさん
2018/10/23(火) 13:20:20.07ID:ki4w8hD+ >>516
バージョンも同じなら、理由はわからんなぁ…
バージョンも同じなら、理由はわからんなぁ…
519デフォルトの名無しさん
2018/10/23(火) 17:07:59.89ID:J7zWeAP4 みんなやさしいな
520デフォルトの名無しさん
2018/10/23(火) 18:06:12.08ID:Afmb5nM2 別のフォルダに入った同名ファイルをjoblibのParallelで処理するために以下のようなコードを書いたところ1番目のフォルダの結果が常に出てきてしまうんだけど原因分かる?
・環境
Python: 3.7.0
joblib: 0.12.5
Jupyter Notebook上で実行
・ファイル
C:\a\a.txt -> 「1」とだけ半角で書かれたテキストファイル
C:\b\a.txt -> 「2」とだけ半角で書かれたテキストファイル
・コード
import numpy as np
from joblib import Parallel, delayed
# 実際はもっと大容量のファイルに対して重い処理を行う
def read_file():
return np.loadtxt("a.txt")
os.chdir(r"C:\a")
result1 = Parallel(n_jobs=-1)(delayed(test)() for _ in range(1))
os.chdir(r"C:\b")
result2 = Parallel(n_jobs=-1)(delayed(test)() for _ in range(1))
# 空のフォルダcに移動する
os.chdir(r"C:\c")
result3 = Parallel(n_jobs=-1)(delayed(test)() for _ in range(1))
print(result1) # 出力 : [array(1.)]
print(result2) # 出力 : [array(1.)]・・・[array(2.)]が出力されないのはなぜ?
print(result3) # 出力 : [array(1.)]
・環境
Python: 3.7.0
joblib: 0.12.5
Jupyter Notebook上で実行
・ファイル
C:\a\a.txt -> 「1」とだけ半角で書かれたテキストファイル
C:\b\a.txt -> 「2」とだけ半角で書かれたテキストファイル
・コード
import numpy as np
from joblib import Parallel, delayed
# 実際はもっと大容量のファイルに対して重い処理を行う
def read_file():
return np.loadtxt("a.txt")
os.chdir(r"C:\a")
result1 = Parallel(n_jobs=-1)(delayed(test)() for _ in range(1))
os.chdir(r"C:\b")
result2 = Parallel(n_jobs=-1)(delayed(test)() for _ in range(1))
# 空のフォルダcに移動する
os.chdir(r"C:\c")
result3 = Parallel(n_jobs=-1)(delayed(test)() for _ in range(1))
print(result1) # 出力 : [array(1.)]
print(result2) # 出力 : [array(1.)]・・・[array(2.)]が出力されないのはなぜ?
print(result3) # 出力 : [array(1.)]
521デフォルトの名無しさん
2018/10/23(火) 22:14:21.56ID:86mV9f+c ファイルの数を返すメソッドはありますか?
例えばsrcの下にディレクトリaとbがあって
それぞれのディレクトリにa1.txt〜a100.txt、b1.txt〜b100.txtとファイルがあった時に
200と返してくれるメソッドはありますか?
defで関数とか作らず1行で済む方法を探しています。
例えばsrcの下にディレクトリaとbがあって
それぞれのディレクトリにa1.txt〜a100.txt、b1.txt〜b100.txtとファイルがあった時に
200と返してくれるメソッドはありますか?
defで関数とか作らず1行で済む方法を探しています。
522デフォルトの名無しさん
2018/10/23(火) 22:22:44.49ID:zYWUn764 len(os.lisdir(ディレクトリのpath))
523デフォルトの名無しさん
2018/10/23(火) 22:36:02.00ID:BDP8ufz9 いまやってみたらそのコードでは2が帰って来ました
aとbの2つのディレクトリがあるから2なのですかね?
欲しいのはそのまた下にあるファイルの数でした
aとbの2つのディレクトリがあるから2なのですかね?
欲しいのはそのまた下にあるファイルの数でした
524デフォルトの名無しさん
2018/10/23(火) 22:46:04.08ID:oFF/C26V Pythonは詳しく無いけど、そう言うは再帰でディレクトリが無い最下層まで潜るコードってよく見るね。
525デフォルトの名無しさん
2018/10/23(火) 23:35:56.37ID:EZC/vVVW526デフォルトの名無しさん
2018/10/23(火) 23:36:52.55ID:EZC/vVVW src/**/* だったわ
527デフォルトの名無しさん
2018/10/23(火) 23:53:26.39ID:BmpWcPqj >>521
sum([len(files) for root, dirs, files in os.walk("src")])
sum([len(files) for root, dirs, files in os.walk("src")])
528デフォルトの名無しさん
2018/10/24(水) 00:12:08.40ID:2LYWqLo0529デフォルトの名無しさん
2018/10/24(水) 00:33:01.65ID:2LYWqLo0530デフォルトの名無しさん
2018/10/24(水) 00:58:29.86ID:2LYWqLo0 >>514
「gtk webkitwebview」で検索!
「gtk webkitwebview」で検索!
531デフォルトの名無しさん
2018/10/24(水) 15:19:12.25ID:B3/hQHxI 521,523です
教えていただいたのをやってみました。
525さんの方法は、フォルダーの数が含まれていました。結果は202が返りました。
527さんの方法は、ちょうど200が返りました。
529さんの方法は、windowsなので出来ませんでした。
これにて問題は解決しました。皆さまありがとうございます。
教えていただいたのをやってみました。
525さんの方法は、フォルダーの数が含まれていました。結果は202が返りました。
527さんの方法は、ちょうど200が返りました。
529さんの方法は、windowsなので出来ませんでした。
これにて問題は解決しました。皆さまありがとうございます。
532514
2018/10/24(水) 17:55:05.58ID:Vc8wznQf https://webkitgtk.org/reference/webkit2gtk/stable/WebKitWebView.html
>Note that WebKitWebView is scrollable by itself, so you don't need to embed it in a GtkScrolledWindow.
って書いてありました。スクロールをGtkで担当していないから、他のgtk3アプリのようにタッチでスクロールできないようです。でも、だったらなんで>>514のリンク先の人はGTK.gestureでできたんだろう・・・
>Note that WebKitWebView is scrollable by itself, so you don't need to embed it in a GtkScrolledWindow.
って書いてありました。スクロールをGtkで担当していないから、他のgtk3アプリのようにタッチでスクロールできないようです。でも、だったらなんで>>514のリンク先の人はGTK.gestureでできたんだろう・・・
533デフォルトの名無しさん
2018/10/24(水) 18:10:34.94ID:95IsyUjL >なんといっても、800g弱とは思えない軽さと、
薄型コンパクトな筐体はタブレットと同様に、
「出番はないかもしれないけど常時携行しても良い」レベルです。
いざ使おうとすると windows update が始まって再起動…何時間も待たされる…鞄にしまう。
↓
放置
↓
「出番はないかもしれないけど常時携行しても良い」
↓
また持ち出す
↓
いざ使おうとすると windows update が始まって再起動…何時間も待たされる…鞄にしまう。
↓
放置
薄型コンパクトな筐体はタブレットと同様に、
「出番はないかもしれないけど常時携行しても良い」レベルです。
いざ使おうとすると windows update が始まって再起動…何時間も待たされる…鞄にしまう。
↓
放置
↓
「出番はないかもしれないけど常時携行しても良い」
↓
また持ち出す
↓
いざ使おうとすると windows update が始まって再起動…何時間も待たされる…鞄にしまう。
↓
放置
534デフォルトの名無しさん
2018/10/24(水) 18:40:13.35ID:IR3xnlxd リストにn個の要素があります。
このリストの要素から2個をランダムに選んだペアをm組作りたいです。
ただしペアを重複しないようにしたいのですが、
どうすれば実装できるでしょうか。もしくはライブラリがありますか?
いくら考えてもペアが重複してしまいます。(特に(a,b)と(b,a)のようなペアが出来てしまいます)
n=[1, 2, ... n]
m=3
new_n=f(n, m)
new_n
=[(1,8), (45,n), (n-2, 20)]
みたいになるfを探しています。
このリストの要素から2個をランダムに選んだペアをm組作りたいです。
ただしペアを重複しないようにしたいのですが、
どうすれば実装できるでしょうか。もしくはライブラリがありますか?
いくら考えてもペアが重複してしまいます。(特に(a,b)と(b,a)のようなペアが出来てしまいます)
n=[1, 2, ... n]
m=3
new_n=f(n, m)
new_n
=[(1,8), (45,n), (n-2, 20)]
みたいになるfを探しています。
535デフォルトの名無しさん
2018/10/24(水) 18:54:46.79ID:Uqd3UckS >>534
itertools
itertools
536デフォルトの名無しさん
2018/10/24(水) 18:57:07.94ID:K3Hn81Y7 リストの中身をシャッフル→前から二つずつ取得
537デフォルトの名無しさん
2018/10/24(水) 18:57:08.14ID:Uqd3UckS538デフォルトの名無しさん
2018/10/24(水) 19:10:02.77ID:TphPHDjb scrapyとXParhについて教えてください
https://ideone.com/af79WT
うまく動いてくれないです。
67行目からの関数が間違えてると思うんですが、77行目のp_templateはどう書くのが正しいんでしょうか?
9行目は
# https://github.com/Kyrand/dataviz-with-python-and-js
17行目は
BASE_URL = 'http://en.wikipedia.org'
40行目は
start_urls = ["https://en.wikipedia.org/wiki/List_of_Nobel_laureates_by_country"]
80行目は
# https://www.wikidata.org/wiki/Q155525
です。
https://ideone.com/af79WT
うまく動いてくれないです。
67行目からの関数が間違えてると思うんですが、77行目のp_templateはどう書くのが正しいんでしょうか?
9行目は
# https://github.com/Kyrand/dataviz-with-python-and-js
17行目は
BASE_URL = 'http://en.wikipedia.org'
40行目は
start_urls = ["https://en.wikipedia.org/wiki/List_of_Nobel_laureates_by_country"]
80行目は
# https://www.wikidata.org/wiki/Q155525
です。
539デフォルトの名無しさん
2018/10/24(水) 19:14:14.74ID:IR3xnlxd540デフォルトの名無しさん
2018/10/24(水) 19:14:37.21ID:/bxb9sB2 >>534
itertoolsとrandom.sampleを組み合わせる
import itertools, random
def pair(n, m):
combi = list(itertools.combinations(n, m))
return random.sample(combi, m)
itertoolsとrandom.sampleを組み合わせる
import itertools, random
def pair(n, m):
combi = list(itertools.combinations(n, m))
return random.sample(combi, m)
541デフォルトの名無しさん
2018/10/24(水) 19:51:07.40ID:8aeYqShI >>506
これ、モジュールを入れてますが、ideoneで外部モジュールってどうやって使うんです?
これ、モジュールを入れてますが、ideoneで外部モジュールってどうやって使うんです?
542デフォルトの名無しさん
2018/10/24(水) 20:02:29.89ID:Uqd3UckS543デフォルトの名無しさん
2018/10/24(水) 20:03:01.03ID:Uqd3UckS544デフォルトの名無しさん
2018/10/24(水) 20:26:18.89ID:Uqd3UckS >>538
大抵は日付Gregorianで書いてあるとおもうから
文字列Gregorianの 前の文字列を探したらよさげなんだが
80行目のアドレスにアクセスして見てみた
Xpathがもはや538が書いたソースと違っつる
(/html/body/pre/span[1577] ってなってて divに1ツも入ってないYO)ので
具体的にどうとは書けない
大抵は日付Gregorianで書いてあるとおもうから
文字列Gregorianの 前の文字列を探したらよさげなんだが
80行目のアドレスにアクセスして見てみた
Xpathがもはや538が書いたソースと違っつる
(/html/body/pre/span[1577] ってなってて divに1ツも入ってないYO)ので
具体的にどうとは書けない
545デフォルトの名無しさん
2018/10/24(水) 23:59:09.70ID:2LYWqLo0 wikipedia みたいに、しょっちゅう構成が変化するものを、
XPath みたいに順番で指定するものは、動かない
div[2]/div[1]/div/div[2]/div[2]/div[1]
「div の3つ目の、div の2つ目の...」
CSS セレクターみたいに、id, class などの意味で指定する方が、構成の変化に強い。
まだマシ
HTML を解析して、id, class などで限定していくのが基本
XPath みたいに順番で指定するものは、動かない
div[2]/div[1]/div/div[2]/div[2]/div[1]
「div の3つ目の、div の2つ目の...」
CSS セレクターみたいに、id, class などの意味で指定する方が、構成の変化に強い。
まだマシ
HTML を解析して、id, class などで限定していくのが基本
546デフォルトの名無しさん
2018/10/25(木) 01:12:10.66ID:33Q6k0An 今日突然プログラミングに興味を持ちとりあえずpythonをインストールした初心者です。
連番を作成するとき range(10)と打ち込んでも結果がrange(0,10)になってしまいます
解説サイトを見ると9まで表示されるらしいのですが、なぜrange(0,10)になってしまうのでしょうか?
バージョンは3.7.1です
連番を作成するとき range(10)と打ち込んでも結果がrange(0,10)になってしまいます
解説サイトを見ると9まで表示されるらしいのですが、なぜrange(0,10)になってしまうのでしょうか?
バージョンは3.7.1です
547デフォルトの名無しさん
2018/10/25(木) 02:20:57.87ID:NT+vxu3F548デフォルトの名無しさん
2018/10/25(木) 02:27:15.39ID:ZE3NVml1 Ruby の範囲は、 終端を含む、.. と、含まない ... がある
0..3 → 0〜3
0...3 → 0〜2
python では、終端を含まないのかな?
推測だけど、range(10)と引数が1つの場合は、終端のみが指定されたとみなすのだろう。
その場合、始端は0 が指定されたのと同じ
つまり、range(0,10)と同じ
0..3 → 0〜3
0...3 → 0〜2
python では、終端を含まないのかな?
推測だけど、range(10)と引数が1つの場合は、終端のみが指定されたとみなすのだろう。
その場合、始端は0 が指定されたのと同じ
つまり、range(0,10)と同じ
549デフォルトの名無しさん
2018/10/25(木) 07:58:15.11ID:ANca8D/1 >>544
538を書いたのは昨日だけど、今試しても80行目のアドレスのdate of birthのXPathは
//*[@id="P569"]/div[1]/div/a
8 October 1927の部分のXPathは
//*[@id="q155525$82312275-D23F-4048-A710-6EC6AB12C2C2"]/div[2]/div[1]/div/div[2]/div[2]/div[1]
でしたよ
>>544
>>545
583のスクリプトだと誕生日、死亡日、出生地、死亡地、性別を77行目の天ぷらで取得するようになってるけれど、もう天ぷらを改変して使うことも無理だから、項目一つ一つそれぞれ取得しないといけないって事ですか?
538を書いたのは昨日だけど、今試しても80行目のアドレスのdate of birthのXPathは
//*[@id="P569"]/div[1]/div/a
8 October 1927の部分のXPathは
//*[@id="q155525$82312275-D23F-4048-A710-6EC6AB12C2C2"]/div[2]/div[1]/div/div[2]/div[2]/div[1]
でしたよ
>>544
>>545
583のスクリプトだと誕生日、死亡日、出生地、死亡地、性別を77行目の天ぷらで取得するようになってるけれど、もう天ぷらを改変して使うことも無理だから、項目一つ一つそれぞれ取得しないといけないって事ですか?
550デフォルトの名無しさん
2018/10/25(木) 08:09:34.19ID:ANca8D/1 https://www.wikidata.org/wiki/Q155525
この表の左側(date of birthとかplace of birth)のdiv classは
wikibase-statementgroupview-property-label
表示の真ん中の8 October 1927や、Bahía Blancaのdiv classは
wikibase-snakview-value wikibase-snakview-variation-valuesnak
のようでした。
これらを使って >>583 に当てはめる事できますか?
この表の左側(date of birthとかplace of birth)のdiv classは
wikibase-statementgroupview-property-label
表示の真ん中の8 October 1927や、Bahía Blancaのdiv classは
wikibase-snakview-value wikibase-snakview-variation-valuesnak
のようでした。
これらを使って >>583 に当てはめる事できますか?
551545
2018/10/25(木) 08:57:54.49ID:ZE3NVml1 例えば、Ruby で、5ch の書き込み内のa タグを、XPath で指定するのは、こういう感じ
# a を含む、post_node だけを抜き出す。descendant は子孫、ancestor は祖先
# div.thread > div.post > div.message > span > a
post_nodes = doc.xpath "//div[@class='thread']/div[@class='post']/div[@class='message']/descendant::a/ancestor::div[@class='post']"
/div[2]/div[1]/div/div[2]/div[2]/div[1]
こういう、1, 2 などの順番では指定しない
順番で指定すると、サーバー側で、HTML ページを作る時に、順番が変わるかもしれない
普通はXPathではなく、以下のような、CSS セレクターで指定する。
div.thread > div.post > div.message > span > a
thread クラスが付いた、div 要素の直下の、
post クラスが付いた、div 要素の直下の、
message クラスが付いた、div 要素の直下の、
span 要素の直下の、a 要素
ブラウザのF12 開発者ツールを起動して、自分でHTMLを解析する
# a を含む、post_node だけを抜き出す。descendant は子孫、ancestor は祖先
# div.thread > div.post > div.message > span > a
post_nodes = doc.xpath "//div[@class='thread']/div[@class='post']/div[@class='message']/descendant::a/ancestor::div[@class='post']"
/div[2]/div[1]/div/div[2]/div[2]/div[1]
こういう、1, 2 などの順番では指定しない
順番で指定すると、サーバー側で、HTML ページを作る時に、順番が変わるかもしれない
普通はXPathではなく、以下のような、CSS セレクターで指定する。
div.thread > div.post > div.message > span > a
thread クラスが付いた、div 要素の直下の、
post クラスが付いた、div 要素の直下の、
message クラスが付いた、div 要素の直下の、
span 要素の直下の、a 要素
ブラウザのF12 開発者ツールを起動して、自分でHTMLを解析する
552545
2018/10/25(木) 09:17:05.90ID:ZE3NVml1 Chrome で、自分が解析したい要素上で、右クリックメニューで検証を押すと、F12 開発者ツールが起動する
表示されたHTML 上で、右クリックメニューでCopy の所から、
XPath, selector(CSS selector)をコピーできる
例えば、このスレの書き込み内のa タグを、検証してみると、
XPath, CSS selectorは、
//*[@id="550"]/div[2]/span/a[2]
550 > div.message > span > a.reply_link
id が550 の要素の直下の、
message クラスが付いた、div 要素の直下の、
span 要素の直下の、
reply_link クラスが付いた、a 要素
ただし、id は550など、先頭文字が数字では始められないから、これは間違い。
5ch の開発者が間違っている。バグ
表示されたHTML 上で、右クリックメニューでCopy の所から、
XPath, selector(CSS selector)をコピーできる
例えば、このスレの書き込み内のa タグを、検証してみると、
XPath, CSS selectorは、
//*[@id="550"]/div[2]/span/a[2]
550 > div.message > span > a.reply_link
id が550 の要素の直下の、
message クラスが付いた、div 要素の直下の、
span 要素の直下の、
reply_link クラスが付いた、a 要素
ただし、id は550など、先頭文字が数字では始められないから、これは間違い。
5ch の開発者が間違っている。バグ
553545
2018/10/25(木) 09:39:35.73ID:ZE3NVml1 date of birth の、XPath, CSS selectorは、
//*[@id="P569"]/div[1]
#P569 > div.wikibase-statementgroupview-property
id がP569 の要素の直下の、
wikibase-statementgroupview-property クラスが付いた、div 要素
このCSS セレクターで要素を取得して、それが1つだけかどうか確認しないといけない。
このHTML の製作者は、このクラスを複数のタグに付けているかもしれない
このように、他人が作ったHTMLを、解析していくのが難しい。
その仕様は、その製作者が決めたもので、我々が知らないものだから、
隠された情報を暴くのに、時間を食うから、非常に無駄!
仕事以外で、他人の仕様を解析するのは辞めた方がよい。
製作者は答えを知っているけど、我々は答えを知らないから、時間ばかり食う!
//*[@id="P569"]/div[1]
#P569 > div.wikibase-statementgroupview-property
id がP569 の要素の直下の、
wikibase-statementgroupview-property クラスが付いた、div 要素
このCSS セレクターで要素を取得して、それが1つだけかどうか確認しないといけない。
このHTML の製作者は、このクラスを複数のタグに付けているかもしれない
このように、他人が作ったHTMLを、解析していくのが難しい。
その仕様は、その製作者が決めたもので、我々が知らないものだから、
隠された情報を暴くのに、時間を食うから、非常に無駄!
仕事以外で、他人の仕様を解析するのは辞めた方がよい。
製作者は答えを知っているけど、我々は答えを知らないから、時間ばかり食う!
554デフォルトの名無しさん
2018/10/25(木) 09:43:11.50ID:wiUcTcgZ たまにはいいこと言うじゃねえか
555デフォルトの名無しさん
2018/10/25(木) 10:14:40.95ID:yIJtoQcC 今は1階層深くなっているようだ
//*[@id="{code}"]/div[2]/div/div/div[2]/div[1]/div/div[2]/div[2]/div[1]{link_html}/text()
//*[@id="{code}"]/div[2]/div/div/div[2]/div[1]/div/div[2]/div[2]/div[1]{link_html}/text()
556デフォルトの名無しさん
2018/10/25(木) 10:21:59.94ID:Rw/1mEHp >>553
なるほど
まだ途中までしか読んでないけどおそらく本の内容はこんな感じ
1
ウィキペディアにある現在までのノーベル賞受賞者の全員の一覧からウィキデータにある各人のパーソナル情報とウィキペディアの各人の概略と人物写真をScrapyでスクレイピング
2
そのデータをPandasとMatplotlibでクリーニング、分析
3
そのデータをFlaskを使って配信
4
そのデータをJavascriptのD3.jsで可視化
4の可視化に興味があって読み始めた感じ。けどせっかくなので1から読んでScrapyも学んでみようかと。
でも、他人が作ったサイト(ウィキペディア)で悩むよりもAPIなどで簡単に取得出来るような別のデータを使って2に進んだ方がよいですか?
(幸い、本の著作のGithubは数年前にすでにスクレイピングしたデータが置いてありました。数年前なのでもちろん今年の本庶さんは含まれてないですけどね。)
なるほど
まだ途中までしか読んでないけどおそらく本の内容はこんな感じ
1
ウィキペディアにある現在までのノーベル賞受賞者の全員の一覧からウィキデータにある各人のパーソナル情報とウィキペディアの各人の概略と人物写真をScrapyでスクレイピング
2
そのデータをPandasとMatplotlibでクリーニング、分析
3
そのデータをFlaskを使って配信
4
そのデータをJavascriptのD3.jsで可視化
4の可視化に興味があって読み始めた感じ。けどせっかくなので1から読んでScrapyも学んでみようかと。
でも、他人が作ったサイト(ウィキペディア)で悩むよりもAPIなどで簡単に取得出来るような別のデータを使って2に進んだ方がよいですか?
(幸い、本の著作のGithubは数年前にすでにスクレイピングしたデータが置いてありました。数年前なのでもちろん今年の本庶さんは含まれてないですけどね。)
557デフォルトの名無しさん
2018/10/25(木) 10:22:45.04ID:Rw/1mEHp558デフォルトの名無しさん
2018/10/25(木) 10:43:07.24ID:Rw/1mEHp https://i.imgur.com/I9jF1Rl.jpg
date of birthのところでコピーしたXPath
//*[@id="P569"]/div[1]/div/a
https://i.imgur.com/b4m9Pop.jpg
その日付けのところでコピーしたXPath
//*[@id="q155525$82312275-D23F-4048-A710-6EC6AB12C2C2"]/div[2]/div[1]/div/div[2]/div[2]/div[1]
2枚目の画像の部分を選ぶんだと思っていたんですけど、もしかして選ぶ場所間違えてますか?
date of birthのところでコピーしたXPath
//*[@id="P569"]/div[1]/div/a
https://i.imgur.com/b4m9Pop.jpg
その日付けのところでコピーしたXPath
//*[@id="q155525$82312275-D23F-4048-A710-6EC6AB12C2C2"]/div[2]/div[1]/div/div[2]/div[2]/div[1]
2枚目の画像の部分を選ぶんだと思っていたんですけど、もしかして選ぶ場所間違えてますか?
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 「日本はドイツと違い反省せず」…中国外相、独外相に対日批判 台湾問題で理解求める [少考さん★]
- 【おこめ券】鈴木農相 米価維持の意図「一切ない」 [ぐれ★]
- バリ島で男子生徒ら集団万引きか、防犯カメラ映像が拡散 京都の大谷中学・高校が「窃盗行為」謝罪★6 [七波羅探題★]
- 【警視庁】走行中の電車で女性に露出した下半身押しつけたか 無職の男(46)逮捕「チャンスがあればいつでもやる」 [nita★]
- 【苺ましまろ】立民衆院議員、人気漫画の水着少女画像を「醜悪」タイ人少女の性搾取事件と関連付け…党内で反発 [少考さん★]
- 「残業キャンセル界隈」若者が増加?「職務放棄」との批判も…“定時退社の権利”どこまで通用するか [七波羅探題★]
- 【悲報】ネトウヨゆたぼん、事故の見舞金を乞食したついでに今でもパパの自作自演操り人形なことがバレ終わるwwwwwwwwwww [802034645]
- 【高市悲報】中国軍「公海で空母の発着訓練するって事前通告したのになんで自衛隊機は急接近してきたんだ…?」中国軍困惑 [931948549]
- 30過ぎた大人おじさんが大学生(昔)のままのファッションをする「おじさんキッズコーデ」、炎上して問題視される。 [153490809]
- 現役ドラフト発表WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
- 俺はきっと"全部"嫌いなんだ。息づく全てが俺を苛つかせるんだ。
- お前ら新型PSP買うの?
