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

回答編集履歴

2

段落順序を修正

2019/10/01 01:28

投稿

matobaa
matobaa

スコア2493

answer CHANGED
@@ -13,15 +13,15 @@
13
13
 
14
14
  「クロームのデベロッパー画面からセレクタをコピー出来る」ということは、よかった、「セレクタ」という概念は理解できていますね。
15
15
 
16
- ただし......。https://jsoup.org/apidocs/org/jsoup/select/Selector.html
17
- > CSS-like element selector, that finds elements matching a query.
18
-
19
- 「エレメントを検索するためのCSSっぽいセレクタ」......「っぽい」? 、つまり「CSSのセレクタに似ているけど、CSSのセレクタとは違うかも」ですね。Chromeからセレクタをコピーしても動かないのは、このへんの境目にはまっちゃったのかもしれない。
20
-
21
16
  まずはこれだけ理解しておくとよいでしょう:
22
17
 
23
18
  1. エレメントを探すには、そのエレメントのタグ名か、IDか、クラス名を指定する。タグ名はそのまま、IDなら頭に`#`を、クラス名なら頭に`.`をつける。
24
19
  1. 空白を挟まずに続けて書くと、AND条件になる。
25
20
  例: `.ymuiEditLink.mar0`というセレクタは、「ymuiEditLinkクラスとmar0クラスの両方指定されているエレメントを探す」という意味
26
21
  1. 空白を挟んで続けて書くと、子孫条件になる。
27
- 例: `.ymuiEditLink.mar0 strong`というセレクタは、ymuiEditLinkクラスとmar0クラスの両方指定されているエレメントの子孫にある strongタグのエレメントを探す」という意味。
22
+ 例: `.ymuiEditLink.mar0 strong`というセレクタは、ymuiEditLinkクラスとmar0クラスの両方指定されているエレメントの子孫にある strongタグのエレメントを探す」という意味。
23
+
24
+ ただし......。https://jsoup.org/apidocs/org/jsoup/select/Selector.html
25
+ > CSS-like element selector, that finds elements matching a query.
26
+
27
+ 「エレメントを検索するためのCSSっぽいセレクタ」......「っぽい」? 、つまり「CSSのセレクタに似ているけど、CSSのセレクタとは違うかも」ですね。Chromeからセレクタをコピーしても動かないのは、このへんの境目にはまっちゃったのかもしれない。

1

セレクタについて追記

2019/10/01 01:27

投稿

matobaa
matobaa

スコア2493

answer CHANGED
@@ -7,4 +7,21 @@
7
7
  というだけの理解だとスクレイピングは苦労するはず。セレクタをきちんと理解しましょう。
8
8
 
9
9
  きちんと理解したいのか、とりあえず動かしたいだけなのかわからなかったので、直接回答にとどめています。
10
- 理解したいのであれば、その旨返信くだされば説明します。
10
+ 理解したいのであれば、その旨返信くだされば説明します。
11
+
12
+ 追記1:
13
+
14
+ 「クロームのデベロッパー画面からセレクタをコピー出来る」ということは、よかった、「セレクタ」という概念は理解できていますね。
15
+
16
+ ただし......。https://jsoup.org/apidocs/org/jsoup/select/Selector.html
17
+ > CSS-like element selector, that finds elements matching a query.
18
+
19
+ 「エレメントを検索するためのCSSっぽいセレクタ」......「っぽい」? 、つまり「CSSのセレクタに似ているけど、CSSのセレクタとは違うかも」ですね。Chromeからセレクタをコピーしても動かないのは、このへんの境目にはまっちゃったのかもしれない。
20
+
21
+ まずはこれだけ理解しておくとよいでしょう:
22
+
23
+ 1. エレメントを探すには、そのエレメントのタグ名か、IDか、クラス名を指定する。タグ名はそのまま、IDなら頭に`#`を、クラス名なら頭に`.`をつける。
24
+ 1. 空白を挟まずに続けて書くと、AND条件になる。
25
+ 例: `.ymuiEditLink.mar0`というセレクタは、「ymuiEditLinkクラスとmar0クラスの両方指定されているエレメントを探す」という意味
26
+ 1. 空白を挟んで続けて書くと、子孫条件になる。
27
+ 例: `.ymuiEditLink.mar0 strong`というセレクタは、ymuiEditLinkクラスとmar0クラスの両方指定されているエレメントの子孫にある strongタグのエレメントを探す」という意味。