質問編集履歴

1

コードについて

2018/01/09 22:01

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -38,126 +38,6 @@
38
38
 
39
39
  #trial.py
40
40
 
41
- #!/usr/bin/env python
42
-
43
- # -*- coding: utf-8 -*-
44
-
45
- from selenium import webdriver
46
-
47
- from selenium.common.exceptions import NoSuchElementException
48
-
49
- from selenium.webdriver.common.keys import Keys
50
-
51
- from sys import exit
52
-
53
- from time import sleep
54
-
55
- import argparse
56
-
57
- import datetime
58
-
59
- import requests
60
-
61
- import os
62
-
63
- import urllib2
64
-
65
- import codecs, sys
66
-
67
-
68
-
69
- sys.stdout = codecs.getwriter('utf_8')(sys.stdout)
70
-
71
- sys.stdin = codecs.getreader('utf_8')(sys.stdin)
72
-
73
-
74
-
75
- DELAY_SLEEP = 1
76
-
77
- JANJAN_URL = "https://antlion.xsrv.jp/"
78
-
79
-
80
-
81
- def main():
82
-
83
- parser = argparse.ArgumentParser(description='Get asin from JANJAN_URL')
84
-
85
- parser.add_argument('--jan', nargs='+')
86
-
87
- args = parser.parse_args()
88
-
89
-
90
-
91
- products = {}
92
-
93
- for k,v in products.iteritems():
94
-
95
- driver = webdriver.PhantomJS()
96
-
97
- try:
98
-
99
-
100
-
101
- driver.implicitly_wait(DELAY_SLEEP)
102
-
103
-
104
-
105
- # JAN code
106
-
107
- driver.get(JANJAN_URL)
108
-
109
- driver.implicitly_wait(DELAY_SLEEP)
110
-
111
- elem = driver.find_element_by_xpath('//*[@id="content"]/div[1]/div/form/input[2]')
112
-
113
- elem.send_keys(a)
114
-
115
- elem = driver.find_element_by_xpath('//*[@id="content"]/div[1]/div/form/input[3]')
116
-
117
- elem.click()
118
-
119
- elems = driver.find_elements_by_xpath('//*[@id="content"]/div[2]/div[5]/ul/li')
120
-
121
- for e in elems:
122
-
123
- desc = e.get_attribute('textContent')
124
-
125
- if desc.startswith("ASIN"):
126
-
127
- v['asin'] = desc
128
-
129
-
130
-
131
- except NoSuchElementException:
132
-
133
- print v['url'] + ": not available"
134
-
135
- except Exception as e:
136
-
137
- print e
138
-
139
- driver.close()
140
-
141
- exit(1)
142
-
143
-
144
-
145
- driver.close()
146
-
147
-
148
-
149
- for v in products.values():
150
-
151
- print v['asin']
152
-
153
-
154
-
155
-
156
-
157
- if __name__ == "__main__":
158
-
159
- main()
160
-
161
41
 
162
42
 
163
43
  ```