LoginSignup
tekuteku085
@tekuteku085

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

ExcelVBAでTwitter(新X)の特定投稿をリツイート(リポスト)したい

解決したいこと

ExcelVBAからのSeleniumでTwitter(新X)の特定投稿をリツイート(リポスト)したいと考えていますが、
ページを開いた後にリポストする部分がうまくいきません。
クリックする部分の指定に誤りがあるのでしょうか?
詳しい方いらっしゃいましたら、お知恵をお借りできればと思います。

下記の動作を想定しています。
Chrome起動
→特定のURLへ移動(リポストしたい投稿)
→リポスト
→Chrome終了
※Twitterログイン済みを想定

Sub Chrome起動()
'■プロファイルパスを指定
Dim str As String: str = "C:\Users" & Environ("USERNAME") & "\AppData\Local\Google\Chrome\User Data"
driver.AddArgument ("--user-data-dir=" & str)
driver.AddArgument ("--profile-directory=Profile 1")
driver.start "Chrome"

Dim url As String
url = Range("A1")

'Chromeを立ち上げてGoogleを立ち上げる
driver.Get url
driver.Wait 1000

'リポスト
'driver.FindElementsByName("data-testid")(1).Click
driver.FindElementByXPath("//*[@data-testid=""retweet""]")(1).Click

Stop
End Sub

0

1Answer

Xはスクレイピングを利用規約で禁止しているようですが質問の行為は該当しませんか?

当社から提供される(かつ該当する利用条件に従う場合にのみ提供される)、当社の現在利用可能な公開インターフェース以外の方法(自動プログラムか否かを問わない)での、本サービスへのアクセスもしくはその探索またはアクセスもしくは探索の試み(ただし、当社との個別契約で特に許可されている場合は除く)(注記: 本サービスへのクローリングまたはスクレイピングを、当社による事前の書面での同意がないまま行うことは明示的に禁止されています)

代替となるかは分かりませんがAPIの使用を検討されてはいかがでしょうか?

0Like

Comments

  1. @tekuteku085

    Questioner

    回答ありがとうございます。

    Twitterでは禁止なのですね。教えてくださりありがとうございます。
    Seleniumの勉強として、試しにTwitterでやってみようと思っただけですので、
    APIについてはまたの機会に学んでみようと思います。
    別のサイトで学習してみます。回答ありがとうございました。

  2. Seleniumの勉強として、試しにTwitterでやってみようと思っただけ

    各サイトには利用規約がありますので事前に確認しましょう。明示的に禁止されていなくても過度なアクセスをすればサイトからアクセス拒否される可能性も否定できません。
    純粋に勉強であればスクレイピング練習用のサイトもあるのでそちらの利用も検討すると良いかと思います。

Your answer might help someone💌