[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 2ch.scのread.cgiへ]
Update time : 01/10 09:45 / Filesize : 165 KB / Number-of Response : 654
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

くだすれPython(超初心者用) その40



1 名前:デフォルトの名無しさん [2018/11/22(木) 17:09:34.92 ID:JDIt5Mgb.net]
★当スレにRubyのソースコード類を書くことを禁ず
☆Ruby等、Pythonではないプログラミング言語での回答を書くことも禁ず

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

エラーを解決したいときはエラー表示や環境(バージョン/IDE or command line/OS)を略さずに書き込んで下さい。
騙りが頻発しています。質問する方は一時的なトリップをつけることを検討して下さい。
次スレは >>985 辺りで

前スレ
くだすれPython(超初心者用) その39
mevius.5ch.net/test/read.cgi/tech/1535064635/

◆PythonのHome Page
www.python.org/

◆まとめwiki
ttp://python.rdy.jp/

◆ソースコードをそのまま5ちゃんにコピペするとインデントが崩れるので
  こういうところ↓にはってきてください
ttp://ideone.com/      Pythonするにはぷち手間あるのがめんどうかなぁ
ttp://codepad.org/      ほぼ直感的に使える。Run codeボタンあり。
ttp://pastebin.com/     まずまずシンプル。
ttp://dpaste.com/      とてもシンプル。消えるまでの日数を長めに指定しる。
ttps://jupyter.org/try    (旧try.jupyter.org)ちょっとめんどうそう
ttps://ja.osdn.net/pastebin/ ログイン必須になりやがった(゚Д゚#)
−−−−天麩羅ここまで−−−−

2 名前:デフォルトの名無しさん [2018/11/22(木) 19:19:37.48 ID:0ZNuIH9c.net]
おつ

3 名前:デフォルトの名無しさん mailto:sage [2018/11/22(木) 19:52:18.68 ID:OdN2A7JT.net]
これでダメなら次はスレタイ入りだなw
【Rubyガイジ】【出入り禁止】

4 名前:デフォルトの名無しさん mailto:sage [2018/11/22(木) 20:26:54.49 ID:BRQlwM1L.net]
>>1

5 名前:デフォルトの名無しさん [2018/11/23(金) 11:59:18.54 ID:e4GZHgy/.net]
O2

6 名前:デフォルトの名無しさん mailto:sage [2018/11/25(日) 23:39:50.93 ID:XsgTGPcG.net]
スタイル変換で遊んでみようと以下を落として実行してみたのですが、使えませんでした
https://github.com/alexjc/neural-doodle

yield x.decode('utf-8')
UnicodeDecodeError: 'utf-8' codec can't decode byte 0x91 in position 6: invalid start byte

xの中身。bytesクラス
b'# 1 "<\x91g\x82\xdd\x8d\x9e\x82\xdd>"\r\n'



unicodeだったらbyteは3の倍数になるのかな、と思いましたが、
エラーの心辺りのある方いませんか?

7 名前:デフォルトの名無しさん mailto:sage [2018/11/25(日) 23:40:40.66 ID:XsgTGPcG.net]
すいません、ライブラリのtheanoが何か変だったみたいです
>>6は無かったことにして下さい。

8 名前:デフォルトの名無しさん [2018/11/26(月) 13:37:07.35 ID:M4lkR7sD.net]
てすてす

9 名前:デフォルトの名無しさん mailto:sage [2018/11/26(月) 18:37:52.54 ID:RZDJJRLo.net]
def dataframe():
   途中省略
data=pd.Dataframe(◯◯◯◯)

こんな感じで作りたいものをデータフレームで取り出したんですけど、この変数dataを関数外でも使うにはどうすればいいんですか?
なんかグローバル変数とかあまり理解できてないようでうまくいきません

10 名前:デフォルトの名無しさん [2018/11/26(月) 18:40:59.33 ID:R1p2URo7.net]
DATA=pd.Dataframe(◯◯◯◯)

def dataframe():
   途中省略
   global DATA



11 名前:デフォルトの名無しさん mailto:sage [2018/11/26(月) 18:43:43.06 ID:OnnOwawM.net]
>>9
returnすればいいんじゃね?
def dataframe():
...
return data

利用者側
d = dataframe()

12 名前:デフォルトの名無しさん [2018/11/26(月) 18:47:24.65 ID:R1p2URo7.net]
>>11
なんかそっちのことがしたかったっぽいな >>9

10はまとはずれだからムシしておk

13 名前:デフォルトの名無しさん mailto:sage [2018/11/26(月) 19:02:17.14 ID:RZDJJRLo.net]
>>10
>>
神即レスありがとうございます!

14 名前:デフォルトの名無しさん mailto:sage [2018/11/26(月) 19:02:34.45 ID:RZDJJRLo.net]
>>11もありがとうございます

15 名前:デフォルトの名無しさん mailto:sage [2018/11/26(月) 23:13:17.66 ID:nvtZwlw2.net]
>>6
unicode の各文字のバイト数は、決まっているのか?
家族などの変な記号もあるし

1〜6 とか、各文字で異なるのでは?

16 名前:デフォルトの名無しさん mailto:sage [2018/11/26(月) 23:42:17.62 ID:A8sejPNU.net]
UTF-8なら3バイトだけど

17 名前:デフォルトの名無しさん [2018/11/27(火) 00:04:39.51 ID:hnWq7+5I.net]
質問してるクルクルパーが使ってるコードはShift_JIS
で、utf-8は1〜4バイトのマルチバイトコードだからな

マジで質問してるヤツ回答してるヤツも知恵遅れしかいない
コレがウンコスクリプト使ってるようなヤツラの程度

18 名前:デフォルトの名無しさん mailto:sage [2018/11/27(火) 00:31:27.11 ID:2AqLChXV.net]
>>17
だったら来なきゃいいのにPythonが気になって仕方ないから見に来るんでしょ?子供みたい

19 名前:デフォルトの名無しさん mailto:sage [2018/11/27(火) 01:44:46.59 ID:AwFrXlKh.net]
Unicodeは文字に番号を振ったもの
UTF-8は文字に振られた番号の表現ルールと思えば良い

そしてUTF-8は旧来のLatin-1文字(半角英数字と思えば良い)を1バイトで処理し、それ以外の文字を最大4バイトまでの可変長で処理する、なのでバイト数決め打ちは無理

ところが長いこと4バイト表現の文字がほとんどなかったために、UTF-8を3バイトとみなして処理するプログラムがある、MySQLのutf8とかね

最近絵文字の導入などで4バイト表現が増えたので、最大3バイトと勘違いして解説してるサイトなんかを参考にするとコケるよ

20 名前:デフォルトの名無しさん mailto:sage [2018/11/27(火) 23:50:42.92 ID:+o3jSRgH.net]
Ubuntuでtensorflowをインストールするのですが、Pythonの環境構築に使うツールはvenvやpyenvなど一杯ありますがどれ使えばいいんですかね?



21 名前:デフォルトの名無しさん mailto:sage [2018/11/28(水) 01:16:53.87 ID:yLGz5Ts0.net]
venvしか使ったことない

22 名前:デフォルトの名無しさん mailto:sage [2018/11/28(水) 01:29:28.53 ID:Dm5rqVjs.net]
pipenvの方が使い勝手いいよ

23 名前:デフォルトの名無しさん [2018/11/28(水) 04:34:45.68 ID:seMAmMUm.net]
いい加減こういう乱立するの収束しないかね

24 名前:デフォルトの名無しさん mailto:sage [2018/11/28(水) 05:07:51.88 ID:an+XrSQg.net]
システムのpythonを汚さないようにするには、pyenvで特定のバージョンをインストールして、そのバージョンを利用して仮想環境を作るのが一番いいのかね(´・ω・`)

25 名前:デフォルトの名無しさん mailto:sage [2018/11/28(水) 05:35:50.77 ID:w+BjWY8m.net]
>>24
おれはそうした

26 名前:デフォルトの名無しさん mailto:sage [2018/11/28(水) 06:15:27.58 ID:yLGz5Ts0.net]
もしUbuntuそのものが仮想環境ならaptでインスコして使い捨て環境にするのもあり

27 名前:デフォルトの名無しさん mailto:sage [2018/11/28(水) 08:26:13.55 ID:P5pO8YoY.net]
>>24
pyenvが必要かどうかフローチャート
https://qiita.com/shibukawa/items/0daab479a2fd2cb8a0e7

28 名前:デフォルトの名無しさん mailto:sage [2018/11/28(水) 09:51:10.91 ID:tWq+IIt8.net]
それよく引用されてるけど
venvよりpipenvの方が主流になりつつあって先が読めてなかった感があるので更新して欲しい
venvはマルチバージョン対応しないよ

29 名前:デフォルトの名無しさん [2018/11/28(水) 10:14:02.50 ID:zomCLGU3.net]
20180911 https://qiita.com/TakamiChie/items/d4cc9400bfb4997c908f
20180530 https://qiita.com/halhorn/items/2fba53cf65e994b7de76
20180528 https://qiita.com/anvinon/items/5d9c128ef8b65b866dfe
20180514 https://qiita.com/subarunari/items/dcbdad68ba1809b721b9
20171201 https://qiita.com/QUANON/items/4a371651b07bb61fde41

https://qiita.com/tags/pipenv

5月になんか流行要素あったか?

30 名前:デフォルトの名無しさん mailto:sage [2018/11/28(水) 11:03:13.19 ID:f9eU1lMs.net]
正直バージョン細かく指定してインストールなんてしないし2と3分けるだけならvenvで良くない?
デフォルトで入ってるし



31 名前:デフォルトの名無しさん mailto:sage [2018/11/28(水) 11:14:27.78 ID:Yz2JQYtB.net]
pythonに似た言語でパズル作りたいんですが2次元配列を教えてください
x_l=[0,1,2,3]
y_l=[4,5,6,7]
mix=[x_l,y_l]

print(mix[0][0])

この結果だと0になります
マスの位置を表す方法というのはどうしたらいいんでしょうか

32 名前:デフォルトの名無しさん mailto:sage [2018/11/28(水) 11:34:57.78 ID:MxMaORwF.net]
>>31
print(mix)してみれば、mixがどうなっているのかわかる。
[[0, 1, 2, 3], [4, 5, 6, 7]]

4×4マスのグリッドということならこういう事をやりたいんじゃないの?
[[[0, 4], [1, 4], [2, 4], [3, 4]], [[0, 5], [1, 5], [2, 5], [3, 5]], [[0, 6], [1, 6], [2, 6], [3, 6]], [[0, 7], [1, 7], [2, 7], [3, 7]]]

33 名前:デフォルトの名無しさん [2018/11/28(水) 11:35:45.75 ID:mi7H1pc4.net]
・どのようなパズルか?
・コードは何をしたいのか
・本当はどのような結果になって欲しかったのか?
・2次元配列の何を知りたいのか?
少なくともこの辺が分からないと答えられないよ

34 名前:デフォルトの名無しさん [2018/11/28(水) 11:49:44.26 ID:wQALAfN1.net]
numpy.meshgrid

35 名前:デフォルトの名無しさん mailto:sage [2018/11/28(水) 12:06:59.51 ID:eIHsuPDh.net]
Godot ゲームエンジンか?

Unity のBoo は、まだあるのか?

36 名前:35 mailto:sage [2018/11/28(水) 13:55:15.28 ID:eIHsuPDh.net]
progate で、文法でも勉強すれば?
2次元配列がわからないとか、文法書も読んでないだろ

Python が難しいなら、Ruby からやればよい

37 名前:デフォルトの名無しさん mailto:sage [2018/11/28(水) 15:57:11.01 ID:an+XrSQg.net]
dockerにPythonとライブラリ入れて開発してる人は居るんかな(´・ω・`)

38 名前:デフォルトの名無しさん mailto:sage [2018/11/28(水) 17:09:55.35 ID:yLGz5Ts0.net]
>>35
Booはもうない

39 名前:デフォルトの名無しさん mailto:sage [2018/11/28(水) 17:18:42.19 ID:pxDHeQJQ.net]
>>37
どっかーにおるやろ

40 名前:デフォルトの名無しさん mailto:sage [2018/11/28(水) 17:31:31.41 ID:w+BjWY8m.net]
だれうまw



41 名前:デフォルトの名無しさん mailto:sage [2018/11/28(水) 22:05:46.93 ID:CmCXw6MZ.net]
いないよ

42 名前:デフォルトの名無しさん mailto:sage [2018/11/28(水) 22:46:36.74 ID:YLzzz70y.net]
>>37
やってるよ

43 名前:デフォルトの名無しさん mailto:sage [2018/11/29(木) 14:05:22.92 ID:kjOJrV++.net]
apiについて質問したいんですがコレってドキュメントが整備されてないものは使えないていうものなんでしょうか

あるapiでうまくいかず開発元に問い合わせたらドキュメント不備で必須パラメータ足りてませんでしたこのパラメータも指定してね
とか言われたんですがドキュメント見て分からないとき問い合わせしかないんですかね

44 名前:デフォルトの名無しさん mailto:sage [2018/11/29(木) 14:14:56.45 ID:jDQTBB27.net]
>>43
ソースコード直接読むか、ここでコード晒して質問してもいいかもな

45 名前:デフォルトの名無しさん mailto:sage [2018/11/29(木) 15:05:44.39 ID:qd4rCcG0.net]
api側のドキュメント不備なのに呼び出し側のコード晒してどうするの?バカかな。

46 名前:デフォルトの名無しさん mailto:sage [2018/11/29(木) 15:25:39.73 ID:jDQTBB27.net]
>>45
api提供側がドキュメント整備する義務なんてないんだよなぁ

47 名前:デフォルトの名無しさん mailto:sage [2018/11/29(木) 15:27:01.59 ID:jDQTBB27.net]
すまん、読み間違えた

>>43に聞いても時間がかかりそうだから
呼び出し側でも何をしたいかをコードごと晒した方が早いって意味で書いた

48 名前:デフォルトの名無しさん [2018/11/29(木) 20:00:22.69 ID:C+POVdju.net]
>>45
バカはおまえや恥ずかしいw

49 名前:デフォルトの名無しさん mailto:sage [2018/11/29(木) 20:13:14.39 ID:qd4rCcG0.net]
>>48
バーカww

50 名前:デフォルトの名無しさん mailto:sage [2018/11/29(木) 20:40:14.52 ID:VmH99jfx.net]
>>43
公式のドキュメントを読む
公式フォーラムを読む
ぐぐってStackoverflowなどに同様の事例がないか探す
公式フォーラムできいてみる
金払ってサポート契約してるAPIなら問い合わせる
API側のソースコードを読む
Stackoverflowなどできいてみる
開発元が質問を受け付けてたらきいてみる(最終手段)



51 名前:デフォルトの名無しさん [2018/11/29(木) 20:40:33.75 ID:o9bA/aga.net]
            ([[[[[)<
  ([[[[[)<              ([[[[[)<
        ([[[[[)<
([[[[[)<                    ([[[[[)<
             ([[[[[)<

   ([[[[[)<  おおっとここでダンゴムシの大群が!  ([[[[[)<

        ([[[[[)<             ([[[[[)<
  ([[[[[)<                       ([[[[[)<
           ([[[[[)<
([[[[[)<             ([[[[[)< 👀
Rock54: Caution(BBR-MD5:1341adc37120578f18dba9451e6c8c3b)


52 名前:デフォルトの名無しさん mailto:sage [2018/11/29(木) 20:57:04.61 ID:kjOJrV++.net]
>>50
ありがとう
その手順全部踏んでたけど最近の製品らしく英語祭も含めて殆ど情報ないし問い合わせで良かったぽいのでとりあえず方向性はあってそうで一安心

53 名前:デフォルトの名無しさん [2018/11/30(金) 15:29:28.17 ID:l9pzzQXt.net]
スクレイピング勉強するとして、前提知識にjsonやらhtmlやら必要ですよね?

54 名前:デフォルトの名無しさん mailto:sage [2018/11/30(金) 15:56:40.22 ID:mWoFSymO.net]
んなもん触りながら覚えるんだよ

55 名前:デフォルトの名無しさん mailto:sage [2018/11/30(金) 18:06:58.72 ID:CsglLldO.net]
自慢じゃないが、最初は愚直に正規表現駆使して拾ってたぞw

56 名前:デフォルトの名無しさん mailto:sage [2018/11/30(金) 18:55:56.92 ID:x01dDAsY.net]
フロントエンドしか出来なかった頃は
html取得→そのhtmlにjs追加→jQueryで取得ってやってたな
今見たら奇怪なプログラムや

57 名前:デフォルトの名無しさん [2018/11/30(金) 22:38:46.93 ID:cIO0a97u.net]
フロントエンドてなんやと思とるんやおのれは?

58 名前:デフォルトの名無しさん mailto:sage [2018/11/30(金) 23:08:23.93 ID:x01dDAsY.net]
フロントはjsとcssとhtml当たりのブラウザ向けのプログラムと思ってたけど違うの

59 名前:デフォルトの名無しさん mailto:sage [2018/11/30(金) 23:31:35.97 ID:VjmtC3o0.net]
jQuery のCSS セレクターを学べ。Emmet も同じ。
Ruby のNokogiri とか

# . >
id, class, など

XPath は可読性が低いから、CSSセレクターの方がよい

60 名前:デフォルトの名無しさん [2018/12/01(土) 13:20:06.08 ID:DMhN4yyl.net]
Pythonによるスクレイピング&機械学習 開発テクニック使って勉強してるんだけど難しすぎない?
こんなのみんなできるのかよ



61 名前:デフォルトの名無しさん mailto:sage [2018/12/01(土) 13:56:23.78 ID:b7Xa0FGW.net]
スクレイピングは本当にめんどくさい
機械学習やるならデータセット使ったほうがいいんじゃないか

62 名前:デフォルトの名無しさん mailto:sage [2018/12/01(土) 14:29:48.37 ID:Jgv37Yi1.net]
htmlからデータをインポートしてxlsxwriterでexcel形式に変換させるファンクション作らなきゃいけないんだけど
まず任意パースからのインポートの仕方がわからなくて躓いてる...

63 名前:デフォルトの名無しさん [2018/12/01(土) 16:22:03.90 ID:ZwBPlgP3.net]
特定のモジュールから発生する例外だけをキャッチしたいんだけど、どうやったらいいですか?
例えば以下のnumpyモジュールの例外だけ検知したいです。
例外を替えたりなどhoge()メソッド内は修正しないで。
――――――――――――――――――――
import numpy
def hoge():
123 + ‘a’ #=>TypeError
numpy.zeros((‘dummy’)) #=> TypeError (こっちだけキャッチしたい)
try:
hoge()
except TypeError as e:
print(‘numpyモジュールで例外が発生しました。’)
――――――――――――――――――――

64 名前:デフォルトの名無しさん [2018/12/01(土) 16:25:13.45 ID:ZwBPlgP3.net]
インデントを全角にして再投稿です・・
――――――――――――――――――――
import numpy
def hoge():
  123 + ‘a’ #=>TypeError
  numpy.zeros((‘dummy’)) #=> TypeError (こっちだけキャッチしたい)

try:
  hoge()
except TypeError as e:
  print(‘numpyモジュールで例外が発生しました。’)
――――――――――――――――――――

65 名前:デフォルトの名無しさん mailto:sage [2018/12/01(土) 18:13:24.47 ID:LZih+cVQ.net]
例外をキャッチしたあとスタックトレースの中をみて処理を変えたら?

66 名前:デフォルトの名無しさん [2018/12/01(土) 18:19:33.68 ID:vZu4rQev.net]
どちらも同じTypeErrorだから片方だけキャッチするのは難しい
キャッチ後にエラーメッセージで判別する位しか思いつかん

67 名前:64 [2018/12/01(土) 20:32:02.49 ID:ZwBPlgP3.net]
そうですか、了解です。ありがとうございました。

68 名前:デフォルトの名無しさん mailto:sage [2018/12/02(日) 00:07:10.33 ID:/AADpWgo.net]
>>6
>TheanoはWindowsでPython 3.5と互換性がない

69 名前:デフォルトの名無しさん [2018/12/02(日) 01:42:08.33 ID:aLOgXgka.net]
>>61
データセット便利やな。
てかpython勉強して1か月で
クラスとか継承で詰んでるんだけど
ここ最初に理解すべきなのかな

70 名前:デフォルトの名無しさん mailto:sage [2018/12/02(日) 04:51:57.98 ID:euNJd4h1.net]
scrapy使いおるか?
csvに保存するときフォーマット指定できないの?



71 名前:デフォルトの名無しさん mailto:sage [2018/12/02(日) 06:39:16.56 ID:Zo6Yad1S.net]
フォーマットて列の並びとかのこと?数値の桁とかのこと?
並びのことならFEED_EXPORT_FIELDSに設定しろとドキュメントにある。
桁とかの表現なら、cssセレクタで値を取得してFieldオブジェクトに突っ込んだすぐあとに、欲しい値が入ってるところをフォーマット済みのテキストに書き換えるとかはどうかな。
公式ドキュメントではFieldオブジェクトはビルトインdictのエイリアスだと書いてあるので、書き換えても問題ないかと。

72 名前:デフォルトの名無しさん mailto:sage [2018/12/02(日) 08:03:48.35 ID:/AADpWgo.net]
>>69
classが分からない状態で機械学習とか過激派やね

何にしろクラスは基礎中の基礎なので、
とりあえず一つのクラスを作成していじり倒せるようにしたほうがいい
クラスの継承やトレイト辺りは「あーこういう機能があるんだな」ぐらいでいい。自分だけで作るならそんなに使わない

73 名前:デフォルトの名無しさん mailto:sage [2018/12/02(日) 09:26:53.39 ID:euNJd4h1.net]
>>71
レスサンクス
FEED_export_field はsettings.pyに書けば良いのかな
Fieldオブジェクトっていうのは
items.pyの中で定義したクラスのことかな
辞書的に後から編集できるのか、じゃあ余計な部分をトリムしたりstrからintに変換できるな

74 名前:デフォルトの名無しさん mailto:sage [2018/12/02(日) 09:53:26.93 ID:nN8BX9b8.net]
クラス理解しないとC#やろうとして速攻詰むぞw

75 名前:デフォルトの名無しさん mailto:sage [2018/12/02(日) 12:06:22.27 ID:Zo6Yad1S.net]
>>73
そうそう

76 名前:デフォルトの名無しさん mailto:sage [2018/12/02(日) 12:09:41.43 ID:euNJd4h1.net]
>>75
itemの処理はpipelineを使うのが本来のやり方なのかな

parseメソッドに書いたら汚れるよね

77 名前:デフォルトの名無しさん mailto:sage [2018/12/02(日) 12:47:11.39 ID:Zo6Yad1S.net]
>>76
あー自分は使い捨てで作ってたからpipelineは知らなかった
けどこっちのほうがよさそうね

78 名前:デフォルトの名無しさん mailto:sage [2018/12/03(月) 16:30:53.94 ID:VunURnRZ.net]
改行が含まれた文字列をそのまま出力するにはどうすれば良いんでしょうか
test = '改¥n行'
print test
これで改行されずにシングルクォーテーション抜いた改¥n行が表示されるようにしたいです

79 名前:デフォルトの名無しさん [2018/12/03(月) 16:37:58.75 ID:lgEDnwL/.net]
print test.replace(‘\n’, ‘\\n’)

80 名前:デフォルトの名無しさん mailto:sage [2018/12/03(月) 18:24:59.72 ID:xHLM582p.net]
以下のような、Ruby のヒアドキュメントみたいに、
書いたものがそのまま表示される、機能は無いのか?
特殊文字が解釈されないもの

text = <<'TEXT'
改\n行
TEXT

puts text #=> 改\n行



81 名前:デフォルトの名無しさん mailto:sage [2018/12/03(月) 19:01:12.17 ID:+OGeTNm4.net]
>>80
この板の人たち事情があってRubyをNG登録してる割合高いから「名前を言ってはいけないあの言語」とかで言い替えたほうが読んでもらえるよ。

82 名前:デフォルトの名無しさん mailto:sage [2018/12/03(月) 19:20:33.21 ID:7bADYQ3u.net]
BashやPerlといえばどうか…複数行文字列なら"""〜"""や'''〜'''があるし
RAW文字列ならrプリフィックスを付ける、文字列リテラルの連続は結合される

83 名前:デフォルトの名無しさん mailto:sage [2018/12/03(月) 20:13:07.55 ID:xB3jSBXT.net]
お前らPythonごときでくだらない質問なんてしてんなよ
こんなのただのスクリプトだから早くなれろ

84 名前:デフォルトの名無しさん mailto:sage [2018/12/04(火) 01:47:39.12 ID:RJkraVST.net]
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
options = Options()
options.add_argument('--headless')
browser = webdriver.Chrome(chrome_options=options)
browser.implicitly_wait(1)
url = "yahoo.jp"
browser.get(url)

file = open("source.html","w")
file.write(browser)
file.close()

上手く書き出せません。どうしたらいいでしょうか?

恐らく型が違うのだと思いますが、それでも無理矢理書き出す方法はありますか?

85 名前:デフォルトの名無しさん [2018/12/04(火) 03:08:21.71 ID:3ifFv/XY.net]
TwitterのAPIの取得って審査厳しいの?
取った人おる?

86 名前:デフォルトの名無しさん [2018/12/04(火) 06:06:01.32 ID:qgvunLXb.net]
>>84

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
options = Options()
options.add_argument('--headless')
browser = webdriver.Chrome(chrome_options=options)
browser.implicitly_wait(1)
url = "yahoo.jp"
browser.get(url)

hoge = browser.page_source

file = open("source.html","w")

file.write(hoge)

file.close()

87 名前:デフォルトの名無しさん mailto:sage [2018/12/04(火) 14:13:10.16 ID:RJkraVST.net]
>>86
レスありがとうございます。
とても助かりました。

また、これについて何とかそのままの状態でもエラーを発生させなかったり、
エラーを勝手に保存することでプログラムを止めないで次に薦める方法はありますか?

Perlをよく使うのですが、Perlの場合型が違った場合でもその型?のメモリ番地?を保存してくれそこから容易に調べることが出来ます。
また、実用上プログラムが止まらないので助かることも多いです
同じような使い方が出来ますでしょうか?

88 名前:デフォルトの名無しさん mailto:sage [2018/12/04(火) 15:06:12.93 ID:eKuwOju4.net]
参考までに、Ruby のnokogiri を使って、スクレイピングしてみた。
head > title を取得した

require "selenium-webdriver"
require "nokogiri"

options = Selenium::WebDriver::Chrome::Options.new
options.add_argument('--headless')
options.add_argument('--disable-gpu')

driver = Selenium::WebDriver.for :chrome, options: options
driver.navigate.to "https://www.yahoo.co.jp/"

doc = Nokogiri::HTML( driver.page_source )

element = doc.at_css( "head > title" )
puts element.text #=> Yahoo! JAPAN

driver.quit

89 名前:デフォルトの名無しさん [2018/12/04(火) 15:15:31.47 ID:qgvunLXb.net]
>>87
>エラーを勝手に保存することでプログラムを止めないで次に
2系なら try except とゆう構文でエラー時エラーの種類と内容を書き出しつつ先へ進めさせることができるが
3系だとexceptのあとにエラーの種類を指定しないとおこられるようになったので
実質無理げー

90 名前:デフォルトの名無しさん mailto:sage [2018/12/04(火) 15:58:37.22 ID:eKuwOju4.net]
例外の握り潰しか?

Ruby では、rescue で例外を捕捉しても、
何も処理せず、またはログを記録して、そのまま次の処理へ進む

例外の握り潰しは、やってはいけないのが常識だけど、面倒くさいならそうすれば?
ただし、仕事では禁止!



91 名前:デフォルトの名無しさん mailto:sage [2018/12/04(火) 16:37:54.49 ID:VeulgD+K.net]
>>1の冒頭に書いてもこれだからな。キチガイは始末におえない。
もうスレタイに書くしか。

92 名前:デフォルトの名無しさん mailto:sage [2018/12/04(火) 16:41:20.65 ID:yoAmFvIw.net]
>>85
7月にとったときは特に難しくはなかったよ、ただテストツイート一回でなぜかアク禁食らって一度取り直したけどw

93 名前:デフォルトの名無しさん mailto:sage [2018/12/04(火) 16:59:45.68 ID:1lg34cOD.net]
そっかー
残念!

仕事というか株の売買プログラムとかPerlで作ってるけど
再現性の低い通信エラーとか色々な理由で止まる方が困るからとりあえず動くのが大切
で、エラーが仮に出たとしても最後の所でしっかりとチェックして不正があれば全ての実行を取り消したり通知するようにしてるからミスが起こらない
プログラマとしてはダメなのかも知れないけど、自分で運用まで全て理解してやってると、とりあえず動いてくれる方が助かることも多いんだわ
頻度の少ないエラーとか全て潰してたら何年もかかるしね・・・

Pythonってとりあえず動かして、ちょっと修正してとかプログラムというよりもスクリプト的な使い方も多そうだから
エラーをスキップするような方法もあったら便利そうだけどかなり厳しい言語なんだな

94 名前:デフォルトの名無しさん mailto:sage [2018/12/04(火) 17:22:18.57 ID:eKuwOju4.net]
漏れは、Ruby で、selenium webdriver を使うけど、
5ch, Showroom とか、しょっちゅうエラーが起きる

通信回線が混んでいると、1分掛かっても、全部を読み込めていないから、
外部プログラム(selenium)からアタッチできない

数十個のJavaScript を読み込むだろ。
延々と、アタッチできない状態が続く

95 名前:94 mailto:sage [2018/12/04(火) 17:27:09.75 ID:eKuwOju4.net]
たぶん、向こうのサイトが、すべてのJavaScript を読み込んで、
idle 状態になっていないと、外部プログラム(selenium)からアタッチできない

アタッチ要求を出しても、ずっと待たされる

96 名前:デフォルトの名無しさん mailto:sage [2018/12/04(火) 17:48:34.56 ID:qgvunLXb.net]
>>93
うんこはperlに(・∀・)カエレ!!
そしてもう二度とでてくんな

97 名前:94 mailto:sage [2018/12/04(火) 17:54:17.94 ID:eKuwOju4.net]
>>88
修正

driver = Selenium::WebDriver.for :chrome, options: options
driver.manage.timeouts.implicit_wait = 30 # 要素の検索の timeout

driver.navigate.to "https://www.yahoo.co.jp/"

sleep 10

doc = Nokogiri::HTML( driver.page_source )

通信回線の込み具合は、どうにもならない

要素の検索のタイムアウトを設定したり、スリープして待つとか、
異なるサイトなら、タスクランナーで並列化するとか

98 名前:デフォルトの名無しさん mailto:sage [2018/12/04(火) 17:57:21.34 ID:qgvunLXb.net]
>>91
真正基地外はスレタイ変えたくらいじゃ書き込み続けるだろ
基地害だから

99 名前:デフォルトの名無しさん mailto:sage [2018/12/04(火) 18:07:30.86 ID:cF/7Fnqn.net]
96も1に違反してるじゃんw
それに他の言語からやって来たのならそれで出来ることを聞くのは普通じゃね?

100 名前:デフォルトの名無しさん mailto:sage [2018/12/04(火) 19:30:55.39 ID:qgvunLXb.net]
>>99
どこが違反なんだよ
名前すら出すなとは書いてないぞ >>1








[ 続きを読む ] / [ 携帯版 ]

次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<165KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef