Rumah > pembangunan bahagian belakang > Tutorial Python > Bina Bot Python untuk Mengautomasikan Penglibatan Media Sosial

Bina Bot Python untuk Mengautomasikan Penglibatan Media Sosial

Mary-Kate Olsen
Lepaskan: 2024-10-22 20:05:59
asal
777 orang telah melayarinya

Build a Python Bot to Automate Social Media Engagement

Pengarang: Trix Cyrus

Alat Pentesting Peta Jalan: Klik Di Sini
TrixSec Github: Klik Di Sini

Skrip Bot Media Berbilang Sosial Lengkap
Skrip ini akan menunjukkan cara mencipta struktur asas untuk mengautomasikan penglibatan di Twitter, Facebook dan Instagram. Untuk Facebook dan Instagram, anda perlu menggunakan perpustakaan permintaan untuk memanggil API mereka.

Nota: Facebook dan Instagram mempunyai peraturan yang ketat untuk automasi dan anda mungkin perlu melalui proses kelulusan mereka untuk tindakan tertentu.

import tweepy
import requests
import schedule
import time

# Twitter API credentials
twitter_api_key = 'YOUR_TWITTER_API_KEY'
twitter_api_secret_key = 'YOUR_TWITTER_API_SECRET_KEY'
twitter_access_token = 'YOUR_TWITTER_ACCESS_TOKEN'
twitter_access_token_secret = 'YOUR_TWITTER_ACCESS_TOKEN_SECRET'

# Facebook API credentials
facebook_access_token = 'YOUR_FACEBOOK_ACCESS_TOKEN'
facebook_page_id = 'YOUR_FACEBOOK_PAGE_ID'

# Instagram API credentials (using Graph API)
instagram_access_token = 'YOUR_INSTAGRAM_ACCESS_TOKEN'
instagram_business_account_id = 'YOUR_INSTAGRAM_BUSINESS_ACCOUNT_ID'

# Authenticate to Twitter
twitter_auth = tweepy.OAuth1UserHandler(twitter_api_key, twitter_api_secret_key, twitter_access_token, twitter_access_token_secret)
twitter_api = tweepy.API(twitter_auth)

# Function to post a tweet
def post_tweet(status):
    try:
        twitter_api.update_status(status)
        print("Tweet posted successfully!")
    except Exception as e:
        print(f"An error occurred while posting tweet: {e}")

# Function to like tweets based on a keyword
def like_tweets(keyword, count=5):
    try:
        tweets = twitter_api.search(q=keyword, count=count)
        for tweet in tweets:
            twitter_api.create_favorite(tweet.id)
            print(f"Liked tweet by @{tweet.user.screen_name}: {tweet.text}")
    except Exception as e:
        print(f"An error occurred while liking tweets: {e}")

# Function to post a Facebook update
def post_facebook_update(message):
    try:
        url = f"https://graph.facebook.com/{facebook_page_id}/feed"
        payload = {
            'message': message,
            'access_token': facebook_access_token
        }
        response = requests.post(url, data=payload)
        if response.status_code == 200:
            print("Facebook post created successfully!")
        else:
            print(f"Failed to post on Facebook: {response.text}")
    except Exception as e:
        print(f"An error occurred while posting on Facebook: {e}")

# Function to post an Instagram update (a photo in this example)
def post_instagram_photo(image_url, caption):
    try:
        url = f"https://graph.facebook.com/v12.0/{instagram_business_account_id}/media"
        payload = {
            'image_url': image_url,
            'caption': caption,
            'access_token': instagram_access_token
        }
        response = requests.post(url, data=payload)
        media_id = response.json().get('id')

        # Publish the media
        if media_id:
            publish_url = f"https://graph.facebook.com/v12.0/{instagram_business_account_id}/media_publish"
            publish_payload = {
                'creation_id': media_id,
                'access_token': instagram_access_token
            }
            publish_response = requests.post(publish_url, data=publish_payload)
            if publish_response.status_code == 200:
                print("Instagram post created successfully!")
            else:
                print(f"Failed to publish Instagram post: {publish_response.text}")
        else:
            print(f"Failed to create Instagram media: {response.text}")
    except Exception as e:
        print(f"An error occurred while posting on Instagram: {e}")

# Function to perform all actions
def run_bot():
    # Customize your status and keywords
    post_tweet("Automated tweet from my Python bot!")
    like_tweets("Python programming", 5)
    post_facebook_update("Automated update on Facebook!")
    post_instagram_photo("YOUR_IMAGE_URL", "Automated Instagram post!")

# Schedule the bot to run every hour
schedule.every().hour.do(run_bot)

print("Multi-social media bot is running...")

# Keep the script running
while True:
    schedule.run_pending()
    time.sleep(1)
Salin selepas log masuk

Cara Menggunakan Skrip Ini

Pasang Perpustakaan Diperlukan: Pastikan anda telah memasang tweepy dan permintaan. Anda boleh memasangnya menggunakan pip:

pip install tweepy requests schedule
Salin selepas log masuk

Sediakan Bukti Kelayakan API Anda: Gantikan pemegang tempat dengan bukti kelayakan API sebenar anda untuk Twitter, Facebook dan Instagram.

Sesuaikan Tindakan Anda: Anda boleh menukar teks dalam post_tweet dan post_facebook_update, dan menggantikan YOUR_IMAGE_URL dalam post_instagram_photo dengan URL imej yang sah yang anda mahu siarkan.

Jalankan Skrip: Laksanakan skrip dengan menjalankan:

python your_script_name.py
Salin selepas log masuk

Pantau Bot Anda: Bot akan berjalan selama-lamanya, melaksanakan tindakan yang ditentukan setiap jam. Anda boleh menghentikannya dengan mengganggu proses (cth., Ctrl C).

Pertimbangan Penting
Had API: Setiap platform media sosial mempunyai had kadar dan sekatannya sendiri, jadi pastikan anda menyemak dokumentasi untuk setiap API.

Penggunaan Beretika: Berhati-hati dengan cara bot anda berinteraksi dengan pengguna untuk mengelakkan spam atau melanggar garis panduan platform.

Ujian: Uji bot anda dalam persekitaran terkawal sebelum menggunakannya secara meluas.

~TrixSec

Atas ialah kandungan terperinci Bina Bot Python untuk Mengautomasikan Penglibatan Media Sosial. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:dev.to
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan