<Json, REST API> Json Test
REST API
の実験をかねて、Json
のデータを返してくれるようなとこないかな? と探したらあった。
こりゃいいや。
早速試す。
In [1]: import requests In [2]: requests.get('http://echo.jsontest.com/key/value/one/two') Out[2]: <Response [200]> In [3]: r = requests.get('http://echo.jsontest.com/key/value/one/two') In [4]: r.content Out[4]: b'{\n "one": "two",\n "key": "value"\n}\n' In [5]: import json In [8]: r.content.decode('utf-8') Out[8]: '{\n "one": "two",\n "key": "value"\n}\n' In [10]: json.loads(r.content.decode('utf-8')) Out[10]: {'key': 'value', 'one': 'two'}
いける。 いけるじょー。
<Python> 文字コード
文字コード Character Codes
で少し遊んだ。
UTF-8
のコード表。
このコード表を元にデコードdecode
してみる。
In [36]: b'\xe3\x81\x82'.decode() Out[36]: 'あ' In [37]: b'\xc3\xa0'.decode() Out[37]: 'à'
なるへそ。
じゃ、ってことで、エンコードしてみる。
In [38]: 'あ'.encode() Out[38]: b'\xe3\x81\x82'
ふむふむ。
で、わかりずらかったのがリテラル
ちゅうやつ。
要はどう表記するか? ということらしい。
アスキー文字ascii
君達は、\x
で始まるコード記号でスタートしなくても認識してくれるようだ。
In [40]: b'7'.decode() Out[40]: '7' In [41]: b'\x37'.decode() Out[41]: '7'
参考。
マニュアル。
https://docs.python.jp/3/howto/unicode.html#converting-to-bytes
<jQuery, Flickr> getJSONの使い方と、Flickr APIを少し、、
getJSON
の使い方がようようわかったので、メモ。
$.getJSON( url [, data] [, success(data, textStatus, jqXHR)] )
この書式で、success
は、get
の実行結果が返ってくる。
ここがなかなか、わかりずらかったなり。
まさか、実行結果も引数の中に置いておくとは思わなかった。。。
わかりやすいイメージは、下記。
success = getJSON(url, data)
ここで勉強。
$.getJSON() | jQuery 1.9 日本語リファレンス | js STUDIO
$.each() | jQuery 1.9 日本語リファレンス | js STUDIO
$.each
を少し確認してみた。
<httpie, msys2> curlじゃなくて、httpieだそうです。
なういのは、curl
じゃなくて、httpie
だそうです。
>pip install httpie
で、
>http GET www.yahoo.co.jp
、、、待ってども、何もおこらず、、、
ちとググると、msys2
では、--ignore-stdin
のおまじないがいるらしい。
>http --ignore-stdin GET www.yahoo.co.jp
動いた。
<Python, pandas, Beautiful Soup> html tableからpandas dataframeへ。
html
中にあるtable
から、pandas
dataframe
を作る。
<tr>
<td>
タブとかを、ちくちくと、Beautiful Soup
でパースしないといけないのか、、、
いやいや、そんな面倒なことは、誰かが、既に何かを作っているはず、、と思ってたら、あった。
pd.read_html()
でいける。ちょー楽。
In [1]: import pandas as pd In [2]: lst = pd.read_html('http://stocks.finance.yahoo.co.jp/stocks/history/?code=998407.O', flavor='bs4') In [3]: lst[0].head() Out[3]: 0 1 2 3 0 日経平均株価 NaN 19871.96 前日比-23.74(-0.12%) In [4]: lst[1].head() Out[4]: 0 1 2 3 4 0 日付 始値 高値 安値 終値 1 2017年5月8日 19709.01 19929.48 19705.13 19895.7 2 2017年5月2日 19335.72 19464.3 19335.02 19445.7 3 2017年5月1日 19154.03 19311.21 19144.62 19310.52 4 2017年4月28日 19240.65 19264.57 19164.68 19196.74
すげー。
<Python, selenium> ブラウザのウインドウを切り替える。
セレニウムselenium
を使ってる時に、ブラウザbrowser
のウインドwindow
を切り替える技。
.window_handles
アトリビュートに、Window Id
が入っているので、
それを、.switch_to_window()
メソッドで指定する。
In [93]: from selenium import webdriver In [94]: d = webdriver.Chrome() In [97]: d.get(url) In [98]: d.window_handles Out[98]: ['CDwindow-c9388392-a2af-4698-85bc-06bc1c51e4e9', 'CDwindow-f5edab75-8c6b-4580-9e4b-46353a364058'] In [99]: w = d.window_handles In [101]: d.switch_to_window(w[1])
<Python, iPython, Jupyter> Historyをファイルに保存する。
iPython
で、ちょろちょろ実行した結果のhistory
をファイルに保存save
する。
In [170]: %history -f aaa.py File 'aaa.py' exists. Overwrite? y Overwriting file.
29個目の回答がそれだった。 さんきゅー。