質問編集履歴
2
問題をわかりやすくしました
test
CHANGED
File without changes
|
test
CHANGED
@@ -1,12 +1,10 @@
|
|
1
|
-
###Pythonでスクレイピング
|
1
|
+
###PythonでのWebスクレイピング
|
2
|
-
|
3
|
-
PythonモジュールのBeautifulSoupやseleniumを用いてWebスクレイピングをやりたい。
|
4
2
|
|
5
3
|
簡単なWebサイトのスクレイピングはできたものの、JavascriptでレンダリングされているようなWebページでのスクレイピングで苦戦中です。
|
6
4
|
|
7
5
|
|
8
6
|
|
9
|
-
###発生している問題
|
7
|
+
###発生している問題
|
10
8
|
|
11
9
|
今、某魚拓サイトをスクレイピングしようとしています。
|
12
10
|
|
@@ -18,7 +16,9 @@
|
|
18
16
|
|
19
17
|
|
20
18
|
|
21
|
-
|
19
|
+
該当Webページの<iframe ...> (魚拓部分) </iframe>の中身を取ってきたいのですが、素直にソースコードを持ってきてもダメなようです。
|
20
|
+
|
21
|
+
具体的には、以下のソースのように持ってきても<iframe...></iframe>と中身が入っていない状態で返ってきてしまうようです。
|
22
22
|
|
23
23
|
|
24
24
|
|
@@ -44,6 +44,8 @@
|
|
44
44
|
|
45
45
|
driver.get(url)
|
46
46
|
|
47
|
+
// driver.page_sourceからすでにiframe内にはないようです
|
48
|
+
|
47
49
|
htmls = lxml.html.fromstring(driver.page_source)
|
48
50
|
|
49
51
|
sources = htmls.cssselect('iframe')
|
1
不要なものを削除
test
CHANGED
File without changes
|
test
CHANGED
@@ -18,7 +18,7 @@
|
|
18
18
|
|
19
19
|
|
20
20
|
|
21
|
-
本当は、該当Webページの<iframe ...> (onloadで書き込まれる) </iframe>の中身を取ってきたいのですが、
|
21
|
+
本当は、該当Webページの<iframe ...> (onloadで書き込まれる) </iframe>の中身を取ってきたいのですが、素直にソースコードを持ってきてもダメなようです。(以下のソースコード参照)
|
22
22
|
|
23
23
|
|
24
24
|
|
@@ -53,17 +53,3 @@
|
|
53
53
|
print(source.text)
|
54
54
|
|
55
55
|
```
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
###試したこと
|
60
|
-
|
61
|
-
最初はrequestsモジュールを用いていましたが、Javascriptレンダリングには対応できていないと聞いたので
|
62
|
-
|
63
|
-
ヘッドレスブラウザのphantomjsを用いてやってみようとしていました。
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
###補足情報(言語/FW/ツール等のバージョンなど)
|
68
|
-
|
69
|
-
Python3.6.0
|