回答編集履歴
1
DOM
test
CHANGED
@@ -1,3 +1,7 @@
|
|
1
|
+
### 正規表現
|
2
|
+
|
3
|
+
|
4
|
+
|
1
5
|
ローカルにファイルがある前提ですが、**grep**で検索してみてはいかがでしょうか。
|
2
6
|
|
3
7
|
'リモートにしかファイルが存在しないのなら、Webサイトを丸ごとダウンロードする必要があります。)
|
@@ -14,4 +18,42 @@
|
|
14
18
|
|
15
19
|
|
16
20
|
|
21
|
+
抽出したログを正規表現の一括置換、Excelなどで整形します。
|
22
|
+
|
23
|
+
|
24
|
+
|
25
|
+
### DOM
|
26
|
+
|
27
|
+
|
28
|
+
|
29
|
+
ページ単位なら、x_x さんが回答されているようにJavaScriptを使うのが楽です。
|
30
|
+
|
31
|
+
以下、未検証ですが、コードの流れを追うのに使って下さい。
|
32
|
+
|
33
|
+
|
34
|
+
|
35
|
+
```JavaScript
|
36
|
+
|
37
|
+
var idList = Array.prototype.map.call(document.querySelectorAll('[id]'), element => element.id);
|
38
|
+
|
39
|
+
|
40
|
+
|
41
|
+
var classList = Array.prototype.reduce.call(document.querySelectorAll('[class]'), (classList, element) => (Array.prototype.push.apply(classList, element.classList), classList), []);
|
42
|
+
|
43
|
+
```
|
44
|
+
|
45
|
+
|
46
|
+
|
47
|
+
複数ページに対応するには、ページ全体のa要素を抽出し、見えないiframe要素を構築して、対象のページのDOMを参照し、上記コードと同じ実装を再帰的に繰り返します。
|
48
|
+
|
49
|
+
内部リンク/外部リンクの区別は `location.host` と比較すれば、確認出来るでしょう。
|
50
|
+
|
51
|
+
|
52
|
+
|
53
|
+
この方法の良いところはURIとid/class一覧の対応関係を確実に保証出来ることです。
|
54
|
+
|
55
|
+
正規表現の場合は実ファイルの場所との対応関係になりますが、mod_rewiteなどを使ってURIを改変していると、URIとの対応関係を知るためにもう一手間必要になります。
|
56
|
+
|
57
|
+
|
58
|
+
|
17
59
|
Re: oimo014 さん
|