エクセルファイルからデータを取得しその文字を使ってスクレイピングプログラムに組み込む方法
import requests
from bs4 import BeautifulSoup
import pandas as pd
# ExcelファイルからID、パスワード、検索キーワードを読み込む
df = pd.read_excel('data.xlsx', header=None) # ここにExcelファイル名を指定
username = df.iloc[1, 0] # 2行目(indexは0から始まる)の値を取得
password = df.iloc[2, 0] # 3行目の値を取得
search_keyword = df.iloc[3, 0] # 4行目の値を取得
# セッションを作成(ログイン状態を保持するため)
session = requests.Session()
# ログインページにPOSTリクエストを送信してログイン
login_url = 'https://example.com/login' # ここにログインURLを指定
login_data = {'username': username, 'password': password}
response = session.post(login_url, data=login_data)
# ログインに失敗した場合はエラーメッセージを表示
if response.status_code != 200:
print('Failed to log in.')
exit()
# 検索ページにGETリクエストを送信して検索
search_url = f'https://example.com/search?q={search_keyword}' # ここに検索URLを指定
response = session.get(search_url)
# BeautifulSoupを使ってHTMLをパース
soup = BeautifulSoup(response.text, 'html.parser')
# 必要な情報をスクレイピング(ここではページタイトルをスクレイピングする例)
page_title = soup.title.text
print('Page Title:', page_title)
googleスプレッドシート
import gspread
import pandas as pd
from oauth2client.service_account import ServiceAccountCredentials
# スプレッドシートへの認証
scope = ['https://spreadsheets.google.com/feeds', 'https://www.googleapis.com/auth/drive']
credentials = ServiceAccountCredentials.from_json_keyfile_name('path/to/credentials.json', scope)
gc = gspread.authorize(credentials)
# スプレッドシートを開く
spreadsheet = gc.open('spreadsheet_name') # ここにスプレッドシート名を指定
# ワークシートを選択
worksheet = spreadsheet.sheet1
# データを取得し、pandasのDataFrameに変換
data = worksheet.get_all_values()
df = pd.DataFrame(data)
print(df)
コマンドライン引数としてエクセルファイルのパスを受け取るスクリプトの例
import sys
import pandas as pd
# コマンドライン引数からExcelファイルのパスを取得
excel_path = sys.argv[1]
# Excelファイルを読み込む
df = pd.read_excel(excel_path, header=None)
# 以降、上記と同じ処理を行う...