teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

回答の修正(コメントにあるものと同じ)

2018/08/09 12:11

投稿

ikemo
ikemo

スコア332

answer CHANGED
@@ -1,7 +1,14 @@
1
1
  チャンネル登録者数は`<h1>`以下にないため、別の要素が引っかかります。
2
- XPathはこれでいいかと。
3
2
 
3
+ ~~XPathはこれでいいかと。~~
4
- `//yt-formatted-string[@id='subscriber-count']`
4
+ ~~`//yt-formatted-string[@id='subscriber-count']`~~
5
+ JavaScriptでDOMを書き換えているらしく、↑の方法ではうまくいきませんでした。
5
6
 
7
+ 代わりにページのソースコードを`curl`コマンドで取得して確認してみたところ、
8
+ 以下のようにすればうまく取得できました。
9
+
10
+ ```ruby
11
+ subscriber = doc.css(".yt-subscription-button-subscriber-count-branded-horizontal").text
12
+ ```
13
+
6
- Google Chromeだとコンソールに`$x(xpath文字列)`と打つと結果がすぐ見れるので、
14
+ 今回はCSSセレクタで対応しましたが、Google Chromeだとコンソールに`$x(xpath文字列)`と打つと結果がすぐ見れるので、デバッグに使ってみてください。
7
- デバッグに使ってみてください。