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