アフィリエイトとXの自動化

売れ筋製品のアフィリエイトリンクを引っ張ってきて、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()


コメント

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