質問編集履歴

6

少し改変しました。

2020/07/28 12:15

投稿

onosan
onosan

スコア59

test CHANGED
File without changes
test CHANGED
@@ -12,9 +12,11 @@
12
12
 
13
13
 
14
14
 
15
- 以前に試した方法として、以下のようなものをテンプレートにしているのですが、エラーは起きないのですが、うまく取得できません。```python
15
+ 以前に試した方法として、以下のようなものをテンプレートにしているのですが、エラーは起きないのですが、うまく取得できません。
16
16
 
17
17
 
18
+
19
+ ```Python3
18
20
 
19
21
 
20
22
 
@@ -168,6 +170,4 @@
168
170
 
169
171
  shutil.move(r'C:\Users\akira\Documents\Python\会社')
170
172
 
171
-
172
-
173
173
  ```

5

少し改変しました。

2020/07/28 12:15

投稿

onosan
onosan

スコア59

test CHANGED
File without changes
test CHANGED
@@ -82,7 +82,7 @@
82
82
 
83
83
 
84
84
 
85
- base = 'https://web.shionogi.co.jp/mstr/microstrategy/asp/'
85
+ base = 'https://nintei.nurse.or.jp/certification/General/'
86
86
 
87
87
 
88
88
 

4

余計な部分を省きました

2020/07/28 11:33

投稿

onosan
onosan

スコア59

test CHANGED
File without changes
test CHANGED
@@ -18,7 +18,7 @@
18
18
 
19
19
 
20
20
 
21
- #保存用(SHIFTデータのダウンロード可能)
21
+ #保存用
22
22
 
23
23
 
24
24
 

3

余計な部分を省きました

2020/07/28 11:26

投稿

onosan
onosan

スコア59

test CHANGED
File without changes
test CHANGED
@@ -13,6 +13,8 @@
13
13
 
14
14
 
15
15
  以前に試した方法として、以下のようなものをテンプレートにしているのですが、エラーは起きないのですが、うまく取得できません。```python
16
+
17
+
16
18
 
17
19
 
18
20
 
@@ -90,9 +92,9 @@
90
92
 
91
93
 
92
94
 
93
- file_num = 1#len(os.listdir(r'C:\Users\{0}\Downloads'.format(myNo)))の初期値が1になるため
95
+ file_num = 1
94
96
 
95
- sum_file = 1#上と同じ理由
97
+ sum_file = 1
96
98
 
97
99
 
98
100
 

2

サンプルコードを追加しました

2020/07/28 11:24

投稿

onosan
onosan

スコア59

test CHANGED
File without changes
test CHANGED
@@ -114,9 +114,9 @@
114
114
 
115
115
 
116
116
 
117
- WebDriverWait(driver, 300).until(EC.element_to_be_clickable((By.XPATH,'//*[@id="3131"]')))
117
+ WebDriverWait(driver, 300).until(EC.element_to_be_clickable((By.XPATH,'//*[@id="ctl00_plhContent_btnSearchMain"]')))
118
118
 
119
- driver.find_element_by_xpath('//*[@id="3131"]').click()
119
+ driver.find_element_by_xpath('//*[@id="ctl00_plhContent_btnSearchMain"]').click()
120
120
 
121
121
 
122
122
 

1

動かしたコードを書きました

2020/07/28 11:19

投稿

onosan
onosan

スコア59

test CHANGED
@@ -1 +1 @@
1
- メニューがたくさんあるウェブページから情報を一気に取得した
1
+ pythonのスクレイピングでデが取得できな
test CHANGED
@@ -9,3 +9,163 @@
9
9
 
10
10
 
11
11
  https://nintei.nurse.or.jp/certification/General/(X(1)S(efl0y555pect3x45oxjzfw3x))/General/GCPP01LS/GCPP01LS.aspx?AspxAutoDetectCookieSupport=1
12
+
13
+
14
+
15
+ 以前に試した方法として、以下のようなものをテンプレートにしているのですが、エラーは起きないのですが、うまく取得できません。```python
16
+
17
+
18
+
19
+ #保存用(SHIFTデータのダウンロード可能)
20
+
21
+
22
+
23
+ driver_path = r'C:\Anaconda3\chromedriver.exe'#自分のChoromedriverの場所
24
+
25
+
26
+
27
+ #読み込みたいフォルダの場所
28
+
29
+ URL = 'https://nintei.nurse.or.jp/certification/General/(X(1)S(efl0y555pect3x45oxjzfw3x))/GCPP01LS/GCPP01LS.aspx'
30
+
31
+
32
+
33
+ #格納したいフォルダの場所
34
+
35
+ send_path = r'C:\Users\akira\Documents\Python\会社'
36
+
37
+
38
+
39
+
40
+
41
+
42
+
43
+ from selenium import webdriver
44
+
45
+ import time
46
+
47
+ import bs4
48
+
49
+ import re
50
+
51
+ import os
52
+
53
+ import time
54
+
55
+ import shutil
56
+
57
+ from selenium.webdriver.support.ui import WebDriverWait
58
+
59
+ from selenium.webdriver.support import expected_conditions as EC
60
+
61
+ from selenium.webdriver.common.by import By
62
+
63
+
64
+
65
+ start = time.time()
66
+
67
+
68
+
69
+
70
+
71
+ driver = webdriver.Chrome(driver_path)
72
+
73
+ driver.get(URL)
74
+
75
+ time.sleep(3)
76
+
77
+
78
+
79
+ soup = bs4.BeautifulSoup(driver.page_source, 'html5lib')
80
+
81
+
82
+
83
+ base = 'https://web.shionogi.co.jp/mstr/microstrategy/asp/'
84
+
85
+
86
+
87
+ soup_file1 = soup.find_all('a')
88
+
89
+ href_list = []
90
+
91
+
92
+
93
+ file_num = 1#len(os.listdir(r'C:\Users\{0}\Downloads'.format(myNo)))の初期値が1になるため
94
+
95
+ sum_file = 1#上と同じ理由
96
+
97
+
98
+
99
+ cc = 0
100
+
101
+ for s in soup_file1:
102
+
103
+ if s.string=='検索':
104
+
105
+ path = base+s.get('href')
106
+
107
+ href_list.append(path)
108
+
109
+
110
+
111
+ print(path)
112
+
113
+ driver.get(path)
114
+
115
+
116
+
117
+ WebDriverWait(driver, 300).until(EC.element_to_be_clickable((By.XPATH,'//*[@id="3131"]')))
118
+
119
+ driver.find_element_by_xpath('//*[@id="3131"]').click()
120
+
121
+
122
+
123
+ while sum_file == file_num :
124
+
125
+ sum_file = len(os.listdir(r'C:\Users\akira\Downloads'))
126
+
127
+
128
+
129
+ else:
130
+
131
+ print("現在のダウンロードファイル数_{}枚".format(sum_file-1))
132
+
133
+ file_num += 1
134
+
135
+
136
+
137
+ cc += 1
138
+
139
+
140
+
141
+
142
+
143
+ #一時ファイルが邪魔をする場合があるので時間を少し開ける
144
+
145
+ time.sleep(60)
146
+
147
+
148
+
149
+
150
+
151
+ #ファイルの移動
152
+
153
+
154
+
155
+
156
+
157
+ dw_path = r'C:\Users\akira\Documents\Python\会社'
158
+
159
+ dw_list = os.listdir(dw_path)
160
+
161
+
162
+
163
+ dw_xlsx = [f for f in dw_list]
164
+
165
+ for dw in dw_xlsx:
166
+
167
+ shutil.move(r'C:\Users\akira\Documents\Python\会社')
168
+
169
+
170
+
171
+ ```