売れ筋製品のアフィリエイトリンクを引っ張ってきて、Xに投稿したら収益化できるのか?
そんな簡単なものではないとは思いますが、一度作ってしまえば半自動で動き続けるので
1円でも収益化できるかを検証してみたいと思う
アフィリエイトユーザーの登録は事前に済ませてあるので、そこの説明は省きます
- FANZAの売れ筋商品のリンクを自動的に取得
- リンクをXに投稿
の2段階でやってみたいと思う。まずはFANZAの売れ筋商品のリンクを確認したい
手順をchatgptに伝えてスクリプトを作ってもらう
①ログインページにアクセス

ユーザー名とパスワードを自動的に入れてログイン
②お勧めページに移動

をクリック
ログイン済みなのになぜか年齢確認が出てくるので「はい」をクリック

動画お勧めであれば次のように10個表示される

ここで1から順番にクリックしてリンクをゲットしていけばよい
ひとまず①をクリックして

をクリック
以上を何度かトライしながらChatGPTにほぼ作ってもらった
汚いけど、ひとまず張り付ける
(ユーザ名、パスワードは変更してある)
# -*- coding: utf-8 -*-
"""
Created on Mon
"""
import re
import pyperclip
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager
# Chromeドライバーを自動でインストールして設定
service = Service(ChromeDriverManager().install())
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
#from selenium.webdriver.common.action_chains import ActionChains
import time
# ChromeDriverのパスを指定
#service = Service('/path/to/chromedriver') # ChromeDriverのパスに置き換えてください
driver = webdriver.Chrome(service=service)
try:
# DMM Affiliateページにアクセス
driver.get('https://accounts.dmm.com/service/login/password/=/path=https%3A%2F%2Faffiliate.dmm.com%2F')
# XPathを使用してボタンをクリック
# WebDriverWait(driver, 10).until(
# EC.element_to_be_clickable((By.XPATH, '/html/body/div[3]/div[1]/div/div[1]/div/div[2]/a/span'))
#).click()
# ログインIDの入力
login_id_field = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.XPATH, '//*[@id="login_id"]'))
)
login_id_field.send_keys("loginusername")
# パスワードの入力
password_field = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.XPATH, '//*[@id="password"]'))
)
password_field.send_keys("passwordXXXXX")
try:
# ボタンがクリック可能になるまで待つ
submit_button = WebDriverWait(driver, 10).until(
EC.element_to_be_clickable((By.XPATH, '//button[@type="submit"]'))
)
# ボタンをクリック
submit_button.click()
except Exception as e:
print(f"An error occurred: {e}")
WebDriverWait(driver, 10).until(
EC.element_to_be_clickable((By.XPATH, '/html/body/div[3]/div[2]/div[2]/div/div/a/img'))
).click()
WebDriverWait(driver, 10).until(
EC.element_to_be_clickable((By.XPATH, '/html/body/div[3]/div/div/div[3]/div/a[1]/span'))
).click()
WebDriverWait(driver, 10).until(
EC.element_to_be_clickable((By.XPATH, '//*[@id="rank-01"]/ul/li[1]/div/a/img'))
).click()
WebDriverWait(driver, 10).until(
EC.element_to_be_clickable((By.XPATH, '//*[@id="fn-modal"]/div[2]/form/div[2]/div[2]/div[3]/div[4]/div/p/input'))
).click()
clipboard_content = pyperclip.paste()
print(clipboard_content)
# 必要に応じて次の処理を追加
time.sleep(5) # ページがロードされるまでの待機
try:
ok_button = driver.find_element(By.XPATH, "//button[text()='OK']")
ok_button.click()
except:
print("exitok")
WebDriverWait(driver, 10).until(
EC.element_to_be_clickable((By.XPATH, '//*[@id="fn-modalClose"]/span'))
).click()
html_string = clipboard_content
# 正規表現で文字列を抜き取る
pattern = r'left;">(.*?)</span>'
pattern2 = r'href="(.*?)package_text'
match = re.search(pattern, html_string)
match2 = re.search(pattern2, html_string)
# 結果を取得
if match:
extracted_text = match.group(1)
print("Extracted text:", extracted_text)
else:
print("Pattern not found.")
# 結果を取得
if match2:
extracted_text2 = match2.group(1)
print("Extracted text:", extracted_text2)
else:
print("Pattern not found.")
tweettxt=extracted_text+" "+extracted_text2+"twitter"
finally:
# ブラウザを閉じる
print("end")
driver.quit()
コメント