పైథాన్ ఉపయోగించి ట్విట్టర్, ఇన్‌స్టాగ్రామ్ మరియు రెడ్డిట్ బాట్‌లను ఎలా నిర్మించాలి

పైథాన్ ఉపయోగించి ట్విట్టర్, ఇన్‌స్టాగ్రామ్ మరియు రెడ్డిట్ బాట్‌లను ఎలా నిర్మించాలి

ఇది 2019. మీరు బాట్ల గురించి విన్నారు. చాట్ బాట్‌లు, ఇమెయిల్ బాట్‌లు, వెబ్ స్క్రాపింగ్ బాట్‌లు మరియు సోషల్ మీడియా బాట్‌లు ఉన్నాయి. మీరు ఇంకా బాట్ సృష్టించారా? ఇది ఆశ్చర్యకరంగా సులభం. బహుశా వారు అంతటా ఎందుకు ఉన్నారు. మా బోట్ అధిపతులు వారి ర్యాంక్‌లో చేరడం ద్వారా ఆలింగనం చేసుకోండి.





ఈ వ్యాసంలో, మీ ట్విట్టర్, రెడ్డిట్ మరియు ఇన్‌స్టాగ్రామ్ ఖాతాలతో స్వయంచాలకంగా సంభాషించడానికి మీరు పైథాన్‌ను ఎలా ప్రభావితం చేయగలరో నేను మీకు చూపుతాను.





పైథాన్‌తో పని చేస్తోంది

ఈ వాక్-త్రూ పైథాన్‌ను తన ఎంపిక భాషగా ఉపయోగిస్తుంది. ఇతర భాషలతో పోలిస్తే పైథాన్ యొక్క సులభమైన వినియోగ ప్రయోజనాలు ఏవైనా వేగ లోపాలను అధిగమిస్తాయి. మీరు దాదాపు ఏదైనా OS కోసం పైథాన్‌ను డౌన్‌లోడ్ చేసుకోవచ్చు. వా డు మీకు నచ్చిన ఎడిటర్ .





పైథాన్ పంపిణీలు అనే యుటిలిటీతో సంబంధం కలిగి ఉంటాయి

విండోస్ 10 ని మరొక కంప్యూటర్‌కు ఎలా బదిలీ చేయాలి
pip

. వ్రాసే సమయంలో, డౌన్‌లోడ్ చేయడానికి 168,000 లైబ్రరీలు అందుబాటులో ఉన్నాయి



pip

. ఈ రోజు మీరు సృష్టించే బాట్‌ల కోసం, కేవలం మూడు మాత్రమే అవసరం.

కమాండ్ లైన్ నుండి, మీరు ఈ మూడు లైన్లను ఉపయోగించి అవసరమైన లైబ్రరీలను ఇన్‌స్టాల్ చేయవచ్చు.





pip install --upgrade InstagramAPI
pip install --upgrade tweepy pip install --upgrade praw

ఇప్పుడు మీరు అవసరమైన చోట ఈ లైబ్రరీలను దిగుమతి చేసుకోగలుగుతారు.

అప్లికేషన్ కీలు మరియు రహస్యాలను పొందడం

ఒక తెలివైన తత్వవేత్త ఒకసారి 'రహస్యాలు, రహస్యాలు సరదాగా ఉండవు. రహస్యాలు, రహస్యాలు ఒకరిని బాధపెడతాయి. ' గౌరవప్రదంగా, బాట్‌లకు రహస్యాలు అవసరం. మీ బాట్‌లను సెటప్ చేయడంలో తదుపరి దశ ప్రతి సైట్ యొక్క API కి యాక్సెస్‌ని అనుమతించడం. దీన్ని చేయడానికి, మీకు అప్లికేషన్ కీ లేదా రహస్యం అవసరం.





మీరు కీలు, రహస్యాలు, టోకెన్‌లు మరియు మరెన్నో (సరదా ఆటలా అనిపిస్తోంది!) సేకరించినప్పుడు, అవన్నీ 'క్రెడిన్‌షియల్స్.పై' అనే ఒకే ఫైల్‌లో పెట్టండి. ఈ ఫైల్ ఇలా కనిపిస్తుంది:

# keys
twitter_consumer_key = ''
twitter_consumer_secret = ''
twitter_access_token = ''
twitter_access_token_secret = ''
reddit_client_id = ''
reddit_client_secret = ''
reddit_user_agent = ''
instagram_client_id = ''
instagram_client_secret = ''

చాలా ముఖ్యమైన గోప్యతా సూచన: ఈ ఫైల్‌కు ఎలాంటి సోర్స్ కంట్రోల్ చేయవద్దు (ఉదా. Git). ఈ కీలు మరియు రహస్యాలు మరెవరూ కలిగి ఉండాలని మీరు కోరుకోరు. వాటిని ఒక కారణం కోసం రహస్యాలు అంటారు.

ట్విట్టర్ యాక్సెస్‌ను సెటప్ చేస్తోంది

Node.js తో ట్విట్టర్ బోట్‌ను సెటప్ చేయడానికి మా గైడ్‌ని చూడండి, మీ Twitter యాప్‌ను ఎలా సృష్టించాలో మీకు చూపుతుంది. మీ ఖాతాను ధృవీకరించడానికి మరియు మీరు స్పామ్ ఖాతాను సృష్టించడం లేదని నిర్ధారించుకోవడానికి Twitter కొంత సమయం తీసుకుంటుందని గమనించండి.

ఆ దశలను అనుసరించిన తర్వాత, వినియోగదారుల కీ, వినియోగదారు రహస్యం, యాక్సెస్ టోకెన్ మరియు యాక్సెస్ టోకెన్ రహస్యాన్ని మీ క్రెడెన్షియల్స్.పై ఫైల్లోకి కాపీ చేయండి.

Reddit యాక్సెస్‌ను సెటప్ చేస్తోంది

మీ Reddit క్లయింట్ ID మరియు రహస్యాన్ని పొందడం Twitter కి సమానంగా ఉంటుంది. మీరు ఒక యాప్‌ను Reddit యూజర్ ఏజెంట్‌గా నమోదు చేసుకోవాలి. ఇలా చేసిన తర్వాత, మీరు మీ రెజ్యూమెలో ఖచ్చితంగా 'Reddit User Agent' ని ఉంచాలి.

సైన్ ఇన్ చేయండి మీరు ఎంచుకున్న Reddit ఖాతాకు. కు నావిగేట్ చేయండి యాప్స్ ప్రాధాన్యతల పేజీ మరియు మరొక యాప్‌ను క్రియేట్ చేయి క్లిక్ చేయండి . మీ యూజర్ ఏజెంట్‌కి ఉపయోగపడే పేరు పెట్టండి. స్క్రిప్ట్ ఎంచుకోండి మీ యాప్ ప్రయోజనం కోసం. గురించి URL ని ఖాళీగా ఉంచవచ్చు. దారిమార్పు పెట్టె కోసం ఏదైనా చిరునామాను పూరించండి.

మీ తర్వాత క్రియేట్ యాప్ నొక్కండి , కింది స్క్రీన్ మీ యాప్‌ల జాబితాతో మీకు అందించబడుతుంది. మీ అప్లికేషన్ పేరుతో ఉన్న అంకెలు క్లయింట్ ID ని సూచిస్తాయి మరియు క్లయింట్ రహస్యం దాని దిగువన ఉంది. ఈ విలువలను మీ క్రెడెన్షియల్స్‌పై ఫైల్‌కి కాపీ చేయండి.

Instagram యాక్సెస్‌ను సెటప్ చేస్తోంది

Instagram యాక్సెస్ Twitter మరియు Reddit నుండి భిన్నంగా ఉంటుంది. యాప్‌ని నమోదు చేయడానికి బదులుగా, మీరు మీ యూజర్ నేమ్ మరియు పాస్‌వర్డ్‌ని ఉపయోగించండి. నేను ప్రత్యేక పబ్లిక్ ఖాతాను సృష్టించాలని మరియు మీ బోట్ కోసం ఆ వివరాలను ఉపయోగించాలని సూచిస్తున్నాను.

ప్రాడ్‌తో Reddit ని యాక్సెస్ చేస్తోంది

రొయ్యను ఉపయోగించడం రెండు-దశల ప్రక్రియ. ముందుగా, యాక్సెస్‌ని సెటప్ చేయడం అనేది రొయ్యల రెడ్డిట్ పద్ధతికి ఒకే ఫంక్షన్ కాల్. అప్పుడు, ప్రారంభించిన వస్తువును ఉపయోగించి, సబ్‌రెడిట్‌ను శోధించడం కొత్త () పద్ధతిని ఉపయోగించి చేయబడుతుంది.

import praw
from credentials import *
my_reddit = praw.Reddit(client_id=reddit_client_id, client_secret=reddit_client_secret, user_agent=reddit_user_agent)
sub_name = 'technology'
max_posts = 10
for submission in my_reddit.subreddit(sub_name).new(limit=max_posts):
print(submission.title)

మార్చు

sub_name

వివిధ సబ్‌రెడిట్‌ల నుండి పోస్ట్‌లను పొందడానికి వేరియబుల్. బదులుగా

new()

, వంటి ఇతర పద్ధతులు

hot()

పోస్ట్‌లను పొందడానికి అందుబాటులో ఉన్నాయి.

InstagramAPI ద్వారా Instagram హ్యాష్‌ట్యాగ్‌లను శోధిస్తోంది

Instagram API ని ఉపయోగించే మొదటి దశ క్లయింట్ ID మరియు రహస్యంతో ఒక వస్తువును సెటప్ చేయడం. నేరుగా ఆ తర్వాత, సెటప్‌ను పూర్తి చేయడానికి లాగిన్ () పద్ధతికి కాల్ చేయండి.

from InstagramAPI import InstagramAPI
from credentials import instagram_client_id, instagram_client_secret
my_insta_api = InstagramAPI(instagram_client_id,instagram_client_secret)
my_insta_api.login()

API ని ఉపయోగించడం దాని Reddit కౌంటర్ కంటే కొంచెం క్లిష్టంగా ఉంటుంది. ఈ ఉదాహరణలో, Instagram నుండి చాలా పెద్ద JSON ప్రతిస్పందన వస్తువును పొందడానికి స్క్రిప్ట్ getHashtagFeed ని ఉపయోగిస్తుంది.

ప్రతిస్పందన ద్వారా శోధిస్తున్నప్పుడు, స్క్రిప్ట్ క్యాప్షన్ టెక్స్ట్ కోసం చూస్తుంది మరియు దానిని చూడటానికి స్క్రీన్‌కు ప్రింట్ చేస్తుంది.

get_hashtag = my_insta_api.getHashtagFeed(hashtag)
if get_hashtag != False:
for item in my_insta_api.LastJson['items']:
if 'caption' in item.keys() and 'text' in item['caption'].keys():
caption = item['caption']['text']
print(caption)

సోషల్ మీడియాకు చిత్రాలను జోడించండి

ముందుకు వెళుతున్నప్పుడు, మీ స్క్రిప్ట్ ఈ హ్యాష్‌ట్యాగ్ ఫీడ్‌లో చిత్రాలను పొందాలని మీరు కోరుకోవచ్చు. దీన్ని చేయడానికి, JSON ప్రతిస్పందన ద్వారా లూప్ చేయండి మరియు ప్రతి పోస్ట్‌తో అనుబంధించబడిన మీడియాను కనుగొనండి. JSON ప్రతిస్పందన నుండి సమాచారాన్ని సేకరించేందుకు ఇక్కడ ఒక అమలు ఉంది:

def get_images_from_hashtag(hashtag, num_images):
images = []
get_hashtag = my_insta_api.getHashtagFeed(hashtag)
if get_hashtag == False:
return images
for item in my_insta_api.LastJson['items']:
if item['media_type'] == 1 and 'image_versions2' in item.keys():
candidate = get_largest_image(item['image_versions2']['candidates'])
# get image
filename = self.save_image_from_candidate(candidate['url'])
if filename != '':
# get status, save as tuple
caption = get_caption(item)
images.append((filename, caption))
if len(images) >= num_images:
break
return images

ఈ ఫంక్షన్‌లో రెండు సహాయక విధులు ఉపయోగించబడతాయి. JSON ప్రతిస్పందనలో ఇన్‌స్టాగ్రామ్ చిత్రం 'అభ్యర్థుల' జాబితాను పంపుతుంది. ఈ చిత్రాలలో అతిపెద్దదాన్ని ఎంచుకోండి, తద్వారా మీడియా దాని అత్యధిక రిజల్యూషన్‌లో ప్రదర్శించబడుతుంది.

def get_largest_image(candidates):
candidate = {}
pixels = 0
for cand in candidates:
# pick the highest resolution one
res = cand['height']*cand['width']
if res > pixels:
pixels = res
candidate = cand
return candidate

రెండవది, ఇమేజ్‌కి లింక్ కనుగొనబడిన తర్వాత, కంటెంట్‌ని ఫైల్‌కు రాయడం ద్వారా మీరు చిత్రాన్ని స్థానికంగా సేవ్ చేయవచ్చు. ఉపయోగించి

requests

లైబ్రరీ దీన్ని సూటిగా చేస్తుంది.

def save_image_from_candidate(url):
filename = ''
response = requests.get(url)
# check the response status code, 200 means good
if response.status_code == 200:
filename = url.split('/')[-1].split('?')[0]
with open(filename, 'wb') as f:
f.write(response.content)
return filename

ట్వీపీతో మీడియాను ట్వీట్ చేయడం

ముందుగా, మీరు మీ రహస్యాలు మరియు కీలను ఉపయోగించి ట్విట్టర్ యాక్సెస్‌ను సెటప్ చేయాలి.

import tweepy
from credentials import *
tw_auth = tweepy.OAuthHandler(twitter_consumer_key, twitter_consumer_secret)
tw_auth.set_access_token(twitter_access_token, twitter_access_token_secret)
tw_api = tweepy.API(tw_auth)

సాధారణ రీట్వీట్ బాట్‌ను సృష్టించడం కేవలం కొన్ని లైన్లలో జరుగుతుంది.

for tweet in tweepy.Cursor(tw_api.search,q='MakeUseOf').items(10):
try:
tweet.favorite()
tweet.retweet()
time.sleep(2)
except tweepy.TweepError as e:
print(e.reason)
except StopIteration:
break

ఈ లైబ్రరీతో అనేక ఇతర పనులు చేయవచ్చు. ఈ వాక్-త్రూని ముగించడానికి, మీరు దీనిని ఉపయోగించవచ్చు

get_images_from_hashtag

చిత్రాలు మరియు శీర్షికలను ట్వీట్ చేయడానికి ముందుగా చేసిన Instagram బోట్ నుండి ఫంక్షన్.

అదనంగా, మీ ట్విట్టర్ బోట్ కొత్త పోస్ట్‌ల కోసం రెడ్డిట్‌ను శోధించవచ్చు మరియు వాటిని ట్వీట్ చేయవచ్చు. ఈ రెండు కార్యాచరణలను కలిపి ఉంచడానికి ఇలా కనిపిస్తుంది:

# use r/ for reddit search
# and # for instagram search
hashtag = 'technology'
num_posts = 5
# tweet reddit info
reddit_posts = my_reddit.subreddit(hashtag).new(limit=num_posts)
for submission in reddit_posts:
title = submission.title
url = 'www.reddit.com{}'.format(submission.permalink)
tweet_str = f'Reddit r/{sub} update:
{title} #{sub} {url}'
tweet_str = trim_to_280(tweet_str)
tw_api.update(tweet_str)
# tweet instagram media
media_info = get_images_from_hashtag(hashtag, num_posts)
for (filename, message) in media_info:
try:
tweet_str = trim_to_280(message)
tw_api.update_with_media(filename, status=tweet_str)
except tweepy.TweepError as e:
print(e.reason)
except StopIteration:
break

మీ పైథాన్-ఆధారిత సోషల్ మీడియా బాట్ సిద్ధంగా ఉంది!

కాబట్టి, ఇప్పుడు మీరు ఒక సైట్ నుండి మరొక సైట్‌కి మరియు పోస్ట్‌లకు మీడియాను లాగే కోడ్‌ని పొందారు. మీరు మిక్స్ మరియు మ్యాచ్ కూడా చేయవచ్చు. ట్వీట్‌లను తీసి Reddit కి పోస్ట్ చేయండి. సబ్‌రెడిట్‌లకు పోస్ట్ చేయడానికి Instagram చిత్రాలను సేకరించండి. ఒక బోట్ చేయండి మరియు నిజమైన ఇంటర్నెట్‌లో భాగం అవ్వండి.

చివరగా, ఈ ప్రక్రియను పూర్తిగా ఆటోమేట్ చేయడానికి, మీ బాట్‌లను సర్వర్‌లో లూప్‌లో అమలు చేయాలని మీరు కోరుకుంటారు. ఇది టైమ్ షెడ్యూలర్‌తో మీ స్వంత కంప్యూటర్‌లో ఉండవచ్చు. లేదా, మీ గదిలో ఉన్న ఆ పాత రాస్‌ప్బెర్రీ పైని దుమ్ము దులిపి, పై కోసం ఈ తీపి ట్విట్టర్ బోట్ ప్రాజెక్ట్‌లను చూడండి.

షేర్ చేయండి షేర్ చేయండి ట్వీట్ ఇమెయిల్ HBI రాన్సమ్‌వేర్ కోసం FBI ఎందుకు హెచ్చరిక జారీ చేసింది అనేది ఇక్కడ ఉంది

ర్యాన్‌సమ్‌వేర్ యొక్క ముఖ్యంగా దుష్ట జాతి గురించి FBI హెచ్చరిక జారీ చేసింది. హైవ్ ర్యాన్‌సమ్‌వేర్‌పై మీరు ప్రత్యేకంగా ఎందుకు జాగ్రత్త వహించాలో ఇక్కడ ఉంది.

తదుపరి చదవండి
సంబంధిత అంశాలు
  • ప్రోగ్రామింగ్
  • పైథాన్
  • సోషల్ మీడియా బాట్లు
  • కోడింగ్ ట్యుటోరియల్స్
రచయిత గురుంచి టామ్ జాన్సన్(3 కథనాలు ప్రచురించబడ్డాయి)

టామ్ ఫ్లోరిడాకు చెందిన సాఫ్ట్‌వేర్ ఇంజనీర్ (ఫ్లోరిడా మ్యాన్‌కు అరవండి) రాయడం, కళాశాల ఫుట్‌బాల్ (గో గేటర్స్!), క్రాస్‌ఫిట్ మరియు ఆక్స్‌ఫర్డ్ కామాల పట్ల మక్కువతో.

టామ్ జాన్సన్ నుండి మరిన్ని

మా వార్తాలేఖకు సభ్యత్వాన్ని పొందండి

టెక్ చిట్కాలు, సమీక్షలు, ఉచిత ఈబుక్‌లు మరియు ప్రత్యేకమైన డీల్స్ కోసం మా వార్తాలేఖలో చేరండి!

సభ్యత్వం పొందడానికి ఇక్కడ క్లిక్ చేయండి