Pythonを使用したYandex画像検索スクレイピングの方法


  1. requestsとBeautifulSoupを使用する方法:
import requests
from bs4 import BeautifulSoup
def yandex_image_search(query):
    url = f"https://yandex.com/images/search?text={query}"
    headers = {
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3"
    }
    response = requests.get(url, headers=headers)
    soup = BeautifulSoup(response.content, "html.parser")
    images = soup.find_all("img", class_="serp-item__thumb justifier__thumb")
    for image in images:
        image_url = image["src"]
        print(image_url)
# 画像検索のクエリを指定して実行する例
query = "猫"
yandex_image_search(query)
  1. Seleniumを使用する方法:
from selenium import webdriver
def yandex_image_search(query):
    url = f"https://yandex.com/images/search?text={query}"
    driver = webdriver.Chrome()  # ChromeのWebDriverをインストールしてパスを指定する必要があります
    driver.get(url)
    images = driver.find_elements_by_css_selector(".serp-item__thumb.justifier__thumb")
    for image in images:
        image_url = image.get_attribute("src")
        print(image_url)
# 画像検索のクエリを指定して実行する例
query = "犬"
yandex_image_search(query)

これらの方法を使用すると、Yandexの画像検索結果から画像のURLをスクレイピングできます。必要な数の画像URLを収集し、それらをブログ投稿に使用することができます。ただし、ウェブスクレイピングはサイトの利用規約に違反する場合がありますので、注意が必要です。適切な利用方法を確認し、個々のサイトのポリシーに従ってください。