質問編集履歴
1
タイトル、ソースコードを追加
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
python seleniumで
|
1
|
+
python seleniumでクローラーを作成したいがdictの中身が空になる
|
body
CHANGED
@@ -1,32 +1,57 @@
|
|
1
1
|
### 前提・実現したいこと
|
2
2
|
|
3
|
-
ある動的なhttpsサイトから
|
3
|
+
ある動的なhttpsサイトからリストを全てスクレイピングしようとしています
|
4
4
|
|
5
5
|
### 発生している問題・エラーメッセージ
|
6
6
|
|
7
|
-
|
7
|
+
途中まででprint()で値が表示されるのにdictが空になる
|
8
|
+
クローラーを作りたいのに1件しかデータを取りにいっていない気がする
|
8
9
|
|
9
10
|
### 該当のソースコード
|
10
11
|
|
11
12
|
```Python
|
12
|
-
url='
|
13
|
+
url='https://advisors-freee.jp/advisors/search'
|
13
14
|
from selenium import webdriver
|
14
|
-
|
15
15
|
browser = webdriver.Chrome()
|
16
16
|
browser.implicitly_wait(10)
|
17
|
-
|
18
17
|
browser.get(url)
|
19
|
-
```
|
20
18
|
|
21
|
-
|
19
|
+
assert'全国の税理士一覧|税理士検索freee'in browser.title
|
22
20
|
|
21
|
+
links = browser.find_elements_by_css_selector('h3.search-ttl')
|
23
|
-
|
22
|
+
company_name = links[0].text
|
24
|
-
問題なくurlの内容を取得できました。
|
25
23
|
|
26
|
-
|
24
|
+
links[0].click()
|
27
25
|
|
26
|
+
new_window = browser.window_handles[1]
|
27
|
+
browser.switch_to_window(new_window)
|
28
28
|
|
29
|
+
member = browser.find_elements_by_css_selector('div.right-box')
|
30
|
+
#assert '認定アドバイザー' in member.find_element_by_css_selector('h2').text
|
29
31
|
|
32
|
+
member_dict = {}
|
33
|
+
member_dict[company_name] = member
|
34
|
+
|
35
|
+
import requests
|
36
|
+
from bs4 import BeautifulSoup
|
37
|
+
|
38
|
+
member_list = []
|
39
|
+
for member_dict in member:
|
40
|
+
member_list.append(member)
|
41
|
+
|
42
|
+
import pandas as pd
|
43
|
+
F_dt = pd.DataFrame.from_dict(member)
|
44
|
+
F_dt.apply( lambda x: x.str.replace(r'(new|写真|動画)',''))
|
45
|
+
|
46
|
+
print(F_dt)
|
47
|
+
|
48
|
+
```
|
49
|
+
|
50
|
+
### 試したこと
|
51
|
+
|
52
|
+
参考にしたURLはこちらです。
|
53
|
+
https://takahiromiura.github.io/Selenium.html
|
54
|
+
|
30
55
|
### 補足情報(FW/ツールのバージョンなど)
|
31
56
|
|
32
57
|
VS CODEでPython3.7を使用しています
|