[解決済み] BeautifulSoupでJSONオブジェクトから特定の値をパースする
2022-02-18 16:18:46
質問
import urllib
from urllib import request
from bs4 import BeautifulSoup
url = 'http://mygene.info/v3/query?q=symbol:CDK2&species:human&fields=name,symbol,entrezgene'
html = request.urlopen(url).read()
soup = BeautifulSoup(html)
出力します。
<html><body><p>{
"max_score": 88.84169,
"took": 6,
"total": 244,
"hits": [
{
"_id": "1017",
"_score": 88.84169,
"entrezgene": "1017",
"name": "cyclin dependent kinase 2",
"symbol": "CDK2"
},
{
"_id": "12566",
"_score": 73.8155,
"entrezgene": "12566",
"name": "cyclin-dependent kinase 2",
"symbol": "Cdk2"
},
{
"_id": "362817",
"_score": 62.09322,
"entrezgene": "362817",
"name": "cyclin dependent kinase 2",
"symbol": "Cdk2"
}
]
}</p></body></html>
目標
:
この出力から、パースして
entrezgene
,
name
および
symbol
値
質問事項 : どのようにすれば達成できるのでしょうか?
背景 試してみたのは https://www.crummy.com/software/BeautifulSoup/bs4/doc/#searching-by-css-class と Python BeautifulSoupは要素間のテキストを抽出します。 を挙げましたが、探しているものを見つけることができません。
解決方法は?
を取得することができます。
text
の中にある
json
の形式を使用します。次に
json.loads()
に変換し、それを
辞書
.
from urllib import request
from bs4 import BeautifulSoup
import json
url = 'http://mygene.info/v3/query?q=symbol:CDK2&species:human&fields=name,symbol,entrezgene'
html = request.urlopen(url).read()
soup = BeautifulSoup(html,'html.parser')
site_json=json.loads(soup.text)
#printing for entrezgene, do the same for name and symbol
print([d.get('entrezgene') for d in site_json['hits'] if d.get('entrezgene')])
出力します。
['1017', '12566', '362817', '100117828', '109992509', '100981695', '100925631']
関連
-
[解決済み] 複数の配列を持つJSONオブジェクトを作るにはどうしたらいいですか?
-
[解決済み] JSON文字列を安全にオブジェクトに変換する
-
[解決済み] JSオブジェクトをJSON文字列に変換する
-
[解決済み] .NETでC#オブジェクトをJSON文字列に変換するには?
-
[解決済み] UnixツールでJSONをパースする
-
[解決済み] JSONをC#のダイナミックオブジェクトにデシリアライズする?
-
[解決済み] PHPスクリプトからJSONを返す
-
[解決済み] JSON命名規則(snake_case、camelCase、PascalCase) [終了しました。]
-
[解決済み] bashの変数をjqに渡す
-
[解決済み] SwiftでHTMLエンティティをデコードするには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
JsonParseException: 不正な引用符なしの文字 ((CTRL-CHAR, コード 10)): ha
-
[解決済み] GIFをLottie jsonに変換するにはどうしたらいいですか?
-
[解決済み] ASP.NETでJSONを単純なDictionary<string,string>にデシリアライズするにはどうすればよいですか?
-
[解決済み] nodeやExpressを使用してJSONを返す正しい方法
-
jsonファイルのインポートエラー、TypeError expected string or buffer
-
[解決済み】GoのJSONマーシャルでJSONのキー名を小文字にする
-
[解決済み] JSONファイルからRにデータをインポートする【重複あり
-
[解決済み] JSON、REST、SOAP、WSDL、そしてSOA。これらはどのように結びついているのか
-
[解決済み] jsonパラメータを含むCurl GETリクエスト
-
[解決済み] JSONオブジェクトをBufferに変換し、BufferをJSONオブジェクトに戻す。