概要
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)
コメント