この記事ではtwitterでのアダルトアフィリエイトのためのFANZAのBotの作り方を解説しています。
Twiliaを購入してみた
はじめに。実行環境などの下準備
今回はSeleniumを使ってブラウザを自動操作して情報を抜き出します。
PythonとSeleniumで実行しているため準備をお願いします。
FANZAで情報取得
ではSeleniumを使って実際にFANZAから情報を抜き出してみましょう。
今回は以下のページから情報を抜き出してみたいと思います。
https://www.dmm.co.jp/digital/anime/-/detail/=/cid=h_1261amcp00111/
18歳以上ですをクリックせずに突破
そのまま上記のURLに飛ぶと以下の画面が出てきます。
うっとおしいのでリンクに情報を入れてアクセスしてみます。
やり方は、
https://www.dmm.co.jp/age_check/=/declared=yes/?rurl=
こいつを頭につけてあげて、エンコードした対象のURLをくっつけてあげるだけです。
以下のようになります。
https://www.dmm.co.jp/age_check/=/declared=yes/?rurl=https%3A%2F%2Fwww.dmm.co.jp%2Fdigital%2Fanime%2F-%2Fdetail%2F%3D%2Fcid%3Dh_1261amcp00111%2F
ではこのURLにアクセスしてみましょう。
無事そのままアクセスできました。
では情報を抜いてみますか。
タイトル取得
ではタイトルを取得していきます。
HTMLで対象の要素を見ます。(今回だけ一緒にみていきます。)
緑で示しているところをクリックします。
それから紫のように知りたい部分にもっていきます。
そしたら赤のところに要素のHTMLが表示されます。
では、取得するコードを見ます。
from selenium import webdriver
import urllib
driver = webdriver.Chrome()
driver.set_window_size(1295,722)
add_check_url="https://www.dmm.co.jp/age_check/=/declared=yes/?rurl="
work_url = 'https://www.dmm.co.jp/digital/anime/-/detail/=/cid=h_1261amcp00111/'
# urllib.parse.quote(work_url)でエンコードしてあげている。
url = add_check_url + urllib.parse.quote(work_url)
driver.get(url)
title_element = driver.find_element_by_css_selector('#title')
title = title_element.text
print(title)
画像取得
タイトルが取得出来たら次はサムネイルの画像URLを取得してみます。
ついでに、保存する方法も記載しておきますね。
sample_element = driver.find_element_by_css_selector('#sample-video')
thumbnail_element = sample_element.find_element_by_css_selector('a')
thumbnail_link = thumbnail_element.get_attribute('href')
print(thumbnail_link)
# 保存の仕方は以下
urllib.request.urlretrieve(thumbnail_link, 'thumbnail.jpg')
軽く説明すると「sample-video」という名前のIDを探します。
その下の階層の「aタグ」を検索します。
見つかったaタグの中の「href」という属性の値を抜き出しています。
抜き出せた値がサムネイルのURLになります。
では保存の仕方ですが、以下のコードでできます。
Twitterで投稿
ではツイートするコードとともに全体のコードを見てみましょう。
ツイートするコード自体を詳しく知りたい方は以下の記事へ
全体のコード
from selenium import webdriver
import urllib
driver = webdriver.Chrome()
driver.set_window_size(1295,722)
add_check_url="https://www.dmm.co.jp/age_check/=/declared=yes/?rurl="
work_url = 'https://www.dmm.co.jp/digital/anime/-/detail/=/cid=h_1261amcp00111/'
# urllib.parse.quote(work_url)でエンコードしてあげている。
url = add_check_url + urllib.parse.quote(work_url)
driver.get(url)
title_element = driver.find_element_by_css_selector('#title')
title = title_element.text
print(title)
sample_element = driver.find_element_by_css_selector('#sample-video')
thumbnail_element = sample_element.find_element_by_css_selector('a')
thumbnail_link = thumbnail_element.get_attribute('href')
print(thumbnail_link)
# 保存の仕方は以下
urllib.request.urlretrieve(thumbnail_link, 'thumbnail.jpg')
# Consumer Keys
ck = "Consumer Key"
cs = "Consumer Key Secret"
# Authentication Tokens
at = "Authentication Token"
ats = "Authentication Token Secret"
auth = tweepy.OAuthHandler(ck, cs)
auth.set_access_token(at, ats)
api = tweepy.API(auth)
media_ids= []
images=["thumbnail.jpg"]
for image in images:
img = api.media_upload(image)
media_ids.append(img.media_id)
text="test\n改行"
api.update_status(status=text, media_ids=media_ids)
MGS動画 Versionはこちら
お知らせ:FANZAのBotのコードを有料公開しました。
FANZAの作品をつぶやくアダルトアフィリエイトBotを作成してみた。
どうしても量は多くなってしまいますが、解説もかいたので勉強してみたい方はぜひ購入してみてください。
分からないことなど質問受け付けます。