質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Beautiful Soup

Beautiful Soupは、Pythonのライブラリの一つ。スクレイピングに特化しています。HTMLデータの構文の解析を行うために、HTMLタグ/CSSのセレクタで抽出する部分を指定することが可能です。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

解決済

1回答

165閲覧

BeautifulSoupの属性値に辞書の配列が入ったデータのスクレイピング方法

futaba1991

総合スコア13

Beautiful Soup

Beautiful Soupは、Pythonのライブラリの一つ。スクレイピングに特化しています。HTMLデータの構文の解析を行うために、HTMLタグ/CSSのセレクタで抽出する部分を指定することが可能です。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

1クリップ

投稿2018/11/11 09:02

html

1<input data-items='[{"identifier":"123","num",1},{"identifier":"456","num":4}]'></input>

ここから取り出したいデータは
1つ目のデータ
identifier 123
num 1
2つ目のデータ
identifier 456
num 4
です。

val = hope['data-items']
で下記の文字列を取得するところまではできましたが、ここからどうすればいいのわかりません。
[{"identifier":"123","num",1},{"identifier":"456","num":3}]

valの型がStrigになってしまっているのでBeutifulSoupでは不可能・・・?

よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

[{"identifier":"123","num",1},{"identifier":"456","num":4}]

[{"identifier":"123","num":1},{"identifier":"456","num":4}]じゃないでしょうか。

もしそうなら

ast.literal_evalが便利です。

Python

1>>> import ast 2>>> val = '[{"identifier":"123","num":1},{"identifier":"456","num":3}]' 3>>> 4>>> val = ast.literal_eval(val) 5>>> print(val) 6[{'identifier': '123', 'num': 1}, {'identifier': '456', 'num': 3}] 7>>> 8>>> val[0]['identifier'] 9'123'

全く危険性が無いわけではありませんが、evalよりはだいぶマシです。

投稿2018/11/11 09:07

LouiS0616

総合スコア35658

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

futaba1991

2018/11/11 09:24

間違えており申し訳ありません。おっしゃる通りです。 できました!ありがとうございます。 python数日前に始めたものですが、pythonのライブラリの充実ぶりはすごいですね。
LouiS0616

2018/11/11 09:37

かなりの機能が組み込まれているので、バッテリー駆動なんて特長があげられることもあります。 サードパーティライブラリも適当に使うとほとんど何でもトライできますね。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問