Amazon商品から価格、商品名、レビュー数をスクレイピング / Yahoo!ニュースからカテゴリ、タイトル、リンク、概要をスクレイピング / Instagramのハッシュタグから投稿数、投稿された画像URLをスクレイピング

python

概要

Pythonのウェブスクレイピングを活用している企業の紹介と共に、実際のコード例も交えてご紹介します。

詳細内容

1. Amazon商品のスクレイピング以下のコードは、Amazonの商品ページから商品名、価格、レビュー数などをスクレイピングする例です。

BeautifulSoupとrequestsライブラリを使用しています。

import requests
from bs4 import BeautifulSoupurl = 'https://www.amazon.co.jp/dp/B07K8NTLYX'r = requests.get(url)
soup = BeautifulSoup(r.content, 'html.parser')title = soup.find('span', {'id': 'productTitle'}).get_text().strip()
price = soup.find('span', {'id': 'priceblock_ourprice'}).get_text().strip()
reviews = soup.find('div', {'id': 'averageCustomerReviews'}).find('span', {'class': 'reviewCountTextLinkedHistogram'}).get_text().strip()print('商品名:', title)
print('価格:', price)
print('レビュー数:', reviews)

2. Yahoo!ニュースのトピックススクレイピング以下のコードは、Yahoo!ニュースのトピックスページからタイトル、リンク、カテゴリなどをスクレイピングする例です。

requestsとBeautifulSoupライブラリを使用しています。

import requests
from bs4 import BeautifulSoupurl = 'https://news.yahoo.co.jp/topics'
r = requests.get(url)
soup = BeautifulSoup(r.content, 'html.parser')
topics = soup.find_all('div', {'class': 'sc-jTzLTM'})
for topic in topics:
    category = topic.find('h2', {'class': 'sc-fMiknA'}).get_text().strip()
    title = topic.find('a', {'class': 'sc-dfVpRl'}).get_text().strip()
    link = topic.find('a', {'class': 'sc-dfVpRl'})['href']
    summary = topic.find('p', {'class': 'sc-elJkPf'}).get_text().strip()    
    print('カテゴリ:', category)
    print('タイトル:', title)
    print('リンク:', link)
    print('概要:', summary)

3. Instagramのハッシュタグスクレイピング以下のコードは、Instagramのハッシュタグページから投稿数、投稿された画像のURLをスクレイピングする例です。

SeleniumとBeautifulSoupライブラリを使用しています。

from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
from bs4 import BeautifulSoup
import time
url = 'https://www.instagram.com/explore/tags/travel/'driver = webdriver.Chrome('/path/to/chromedriver')
driver.get(url)
time.sleep(5)
actions = ActionChains(driver)

for i in range(1, 4):
    driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
    time.sleep(2)page_source = driver.page_sourcesoup = BeautifulSoup(page_source, 'html.parser')
    num_posts = soup.find('span', {'class': 'g47SY'}).get_text().replace(',', '')
    post_urls = [img.get('src') 
for img in soup.find_all('img')]
    print('投稿数:', num_posts)
    print('投稿された画像URL:', post_urls)

コメント

タイトルとURLをコピーしました