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

質問編集履歴

1

タイトル、ソースコードを追加

2019/05/22 06:44

投稿

nyanpoo
nyanpoo

スコア12

title CHANGED
@@ -1,1 +1,1 @@
1
- python seleniumでChrome動かすとUnknown policy:と表示され
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
- Unknown policy: DnsPrefetchingEnabled
7
+ 途中まででprint()で値が表示されるのにdictが空になる
8
+ クローラーを作りたいのに1件しかデータを取りにいっていない気がする
8
9
 
9
10
  ### 該当のソースコード
10
11
 
11
12
  ```Python
12
- url='とりたい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
- このプログラムが紹介されている参照先のHttpで施行したところ
22
+ company_name = links[0].text
24
- 問題なくurlの内容を取得できました。
25
23
 
26
- url = 'https://disclosure.edinet-fsa.go.jp/E01EW/BLMainController.jsp?uji.verb=W1E63031Search&uji.bean=ee.bean.W1E63030.EEW1E63031Bean&PID=W1E63030&TID=W1E63031&SESSIONKEY=1505008790454&stype=0&dcdSelect=12001&hcdSelect=01001&ycdSelect=03001400&tsbSdt=&kbn=1&lgKbn=2&pkbn=0&skbn=1&dskb=&askb=&dflg=0&iflg=0&preId=1&chr=%E6%B2%BF%E9%9D%A9&hbn=true&spf5=2&otd=12001&hcd=01001&ycd=03001400&sec=&scc=&snm=&spf1=1&spf2=1&iec=&icc=&inm=&spf3=1&fdc=&fnm=&spf4=1&cal=1&era=H&yer=&mon=&psr=1&pid=4'
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を使用しています