スポンサーリンク
背景
JavascriptでWEBサイト内のHTML要素を参照したい場合には、一般的に下記のようにdocument変数に対してquerySelectorなどで実現ができます。
1 |
const elem = document.querySelector('#test'); |
しかしながら、WEBスクレイピング等で文字列としてHTML要素を取得した際には、そのままでは使えません。(documentはあくまで表示しているWEBサイトに対する情報なので、変数に対しては使用不可。)
スポンサーリンク
スポンサーリンク
実現方法
DOMParserクラスを使用することで実現ができます。
parseFromStringメソッドの第一引数にhtml文字列、第二引数に'text/html'を渡して、戻り値に対してquerySelectorなどが使用可能になります。
1 2 3 4 5 6 7 8 9 |
// html要素を持つ文字列 const strhtml = '<html>//something</html>' // DOMParserクラスを作成 const parser = new DOMParser(); const doc = parser.parseFromString(strhtml, 'text/html'); // docに対してはquerySelectorが使用可能 const elem = doc.querySelector('.test'); |