質問編集履歴

3

コメントのように訂正したが、同じエラーになります。

2022/12/18 13:50

投稿

fullmoon311
fullmoon311

スコア62

test CHANGED
File without changes
test CHANGED
@@ -24,7 +24,8 @@
24
24
 
25
25
  ```python
26
26
  # 1.動的サイトにアクセス
27
- driver.get("https://www.xxx/aaa/page")
27
+ url = "https://www.xxx/aaa/page"
28
+ driver.get(url)
28
29
 
29
30
  # クリック前のハンドルリスト
30
31
  handles_befor = driver.window_handles
@@ -72,7 +73,8 @@
72
73
  img = driver.find_element(By.XPATH,'//*[@id="aaa"]/p/img')
73
74
  src = img.get_attribute('src')
74
75
  #imgurlをダウンロード
75
- if src:
76
+ if src:
77
+ src = urljoin(url, src)
76
78
  # 画像のバイト列取得
77
79
  img_content = requests.get(src).content
78
80
  # 画像に変換

2

前提を追加

2022/12/18 13:45

投稿

fullmoon311
fullmoon311

スコア62

test CHANGED
File without changes
test CHANGED
@@ -2,6 +2,10 @@
2
2
 
3
3
  あるサイトをスクレイピングしているのですが、その中で画像もダウンロードさせるような処理を入れたいのですが、img src="" のsrcの中身がxxx.jsp?key=atai となっているためダウンロード出来ません。
4
4
  ダウンロードは不可能でしょうか?何か方法はありますか?
5
+
6
+ ちなみに出来れば、ダウンロードせずに画像認識させて読み取った文字を文字列としてcsvに書き込む処理をしたいです。
7
+ 個別ではPCに手動で画像を保存したものを画像認識させて、文字列として返すことに成功しております。
8
+
5
9
 
6
10
  ### 実現したいこと
7
11
 

1

コードを追加しました

2022/12/18 13:42

投稿

fullmoon311
fullmoon311

スコア62

test CHANGED
File without changes
test CHANGED
@@ -19,6 +19,51 @@
19
19
  ### 該当のソースコード
20
20
 
21
21
  ```python
22
+ # 1.動的サイトにアクセス
23
+ driver.get("https://www.xxx/aaa/page")
24
+
25
+ # クリック前のハンドルリスト
26
+ handles_befor = driver.window_handles
27
+
28
+ # ドロップダウンを選択する
29
+ # 分類
30
+ genres = driver.find_element(By.NAME,'searchCategory')
31
+ select1 = Select(genres)
32
+ all_options = select1.options
33
+ count = len(all_options)
34
+
35
+
36
+ # [検索]ボタン押す
37
+ driver.find_element(By.ID,'search').click()
38
+ # メーカー毎の商品リストをfor文で回しながら取得
39
+ pages = driver.find_element(By.XPATH, '//*[@id="fm"]/div[2]/span[2]')
40
+ # ページャー数分、回す
41
+ pagenum = pages.text
42
+ for num in range(int(pagenum)):
43
+ # tbodyの中身取得
44
+ tbody = driver.find_element(By.XPATH,'//*[@id="xxx_list"]/table/tbody')
45
+ trlist = tbody.find_elements(By.TAG_NAME,'tr')
46
+
47
+ trnum = str(1)
48
+ for tr in trlist:
49
+ tdlist = tr.find_elements(By.TAG_NAME,'td')
50
+ trtext = []
51
+ for td in tdlist:
52
+ test = td.text
53
+ if(test == '選ぶ'):
54
+ break
55
+ trtext.append(test)
56
+ # 1アイテム毎にCSVに書き込む
57
+ filename = "xxx.csv"
58
+ with open(filename, mode="a", encoding="utf-8") as f:
59
+ trs = ','.join(trtext)
60
+ f.write(trs)
61
+ # 改行コード
62
+ f.write('\n')
63
+ time.sleep(2)
64
+ #[選ぶ]をクリック
65
+ imgxpath = '//*[@id="result_list"]/table/tbody/tr['+ trnum +']/td[5]/a'
66
+ driver.find_element(By.XPATH, imgxpath).click()
22
67
  # 画像URL取得
23
68
  img = driver.find_element(By.XPATH,'//*[@id="aaa"]/p/img')
24
69
  src = img.get_attribute('src')