質問編集履歴

1

情報の修正

2023/03/09 02:36

投稿

MennMenn
MennMenn

スコア5

test CHANGED
File without changes
test CHANGED
@@ -1,4 +1,62 @@
1
- (https://ddjkaamml8q8x.cloudfront.net/questions/2023-03-09/4d3ac9c2-2973-4582-af06-23cd0c011d8d.png)](https://ddjkaamml8q8x.cloudfront.net/questions/2023-03-09/33bee233-40b0-4d46-95eb-f7859748d47a.png)
1
+ ```Python
2
+ import requests
3
+ from selenium import webdriver
4
+ from selenium.webdriver.common.by import By
5
+ from selenium.webdriver.chrome.service import Service
6
+ from selenium.webdriver.chrome.options import Options
7
+ from webdriver_manager.chrome import ChromeDriverManager
8
+ from bs4 import BeautifulSoup
9
+ import os
10
+ from time import sleep
11
+
12
+ options = Options()
13
+ options = webdriver.ChromeOptions()
14
+ options.add_argument("--headless")
15
+ # browser = webdriver.Chrome(ChromeDriverManager().install(),options=options)
16
+ browser = webdriver.Chrome(service=Service(ChromeDriverManager().install()))
17
+ url = "https://www.google.co.jp/imghp?hl=ja"
18
+ browser.get(url)
19
+
20
+ # kw_search = browser.find_elements_by_css_selector("#sbtc > div > div.a4bIc > input")
21
+ kw_search = browser.find_element(By.CSS_SELECTOR,'input')
22
+ actor_name = input("検索したい画像の名前やキーワードを入力してください")
23
+ # actor_name_number = input("次に検索したい画像の枚数を入力してください")
24
+
25
+ kw_search.send_keys(str(actor_name))
26
+
27
+ from selenium.webdriver.common.keys import Keys
28
+ kw_search.send_keys(Keys.ENTER)
29
+
30
+ cur_url = browser.current_url
31
+
32
+ res = requests.get(cur_url)
33
+ soup = BeautifulSoup(res.text,"html.parser")
34
+
35
+ # img_tags = soup.find_all("img,limit = int(actor_name_number)")
36
+ img_tags = soup.find_all("img,limit = 10")
37
+ img_urls = []
38
+
39
+ for img_tag in img_tags:
40
+ url_a = img_tag.get("src")
41
+ if url_a != None:
42
+ img_urls.append(url_a)
43
+
44
+ # save_dir = input("保存先のフォルダ名をつけてください/")
45
+ save_dir = "画像ダウンロードフォルダ/"
46
+ if not os.path.exists(save_dir):
47
+ os.mkdir(save_dir)
48
+
49
+ for elem_url in img_urls:
50
+ try:
51
+ r = requests.get(elem_url)
52
+ with open(save_dir,"wb")as fp:
53
+ fp.write(r.content)
54
+ sleep(0.1)
55
+ except:
56
+ pass
57
+
58
+ browser.quit()
59
+ ```
2
60
  Pythonでスクレイピングのコード(上記)を模写しながら勉強しています。上記ができたコードでファイルがなかったら自分で名前をつけてファイルを作ってくれてそれに画像を保存できるようにしているつもりなのですが、ファイルが作成されるだけで画像が保存されませんでした。最初はエラーが多発していてそれを修正していった結果、エラーは出なくなりましたが今の結果に至っています。なにかコードに足りない部分があるのでしょうか?エラーが出ない分よけいに原因がわからずに止まっています。
3
61
 
4
62
  https://pepenoheya.blog/python-scraping-google-img-search/