好的,所以我对使用python进行编程一无所知但是我想让机器人在Instagram上发布一段时间,所以我认为这将是一个很好的方式来实现这一目标。'。
我没有特定的时间框架,所以不要急于求成。
我还不知道任何编程语言,但我想分支出来,因为我使用基于GUI的web自动化工具,我看到它与编程语言(如if语句,变量,循环等)有很多重叠。
我一直觉得学习一门合适的语言将是一项长期更好的投资。
因为我对此一无所知,但我记住了我的目标,人们可以根据我应该学习的任务来建议我从哪里开始?然后,我可以激光聚焦我需要学习的东西并逐步完成它。
我想将图片作为一个操作上传,然后在Instagram上关注/取消关注。所以请指出我如何去做。我被告知python是最好的全能学习者,因为它以一种整洁的方式完成所有工作,即代码更少,更直观。我希望将来可以根据网络自动化制作其他项目,所以觉得这对于从专业程序员告诉我的内容是一个很好的。
我知道我可能已经含糊不清但不知道该问什么但是因为我的无知,所以如果需要磨练问题,请随时提出。
答案 0 :(得分:7)
使用Instagram时,无需进行网络自动化",因为您可以使用简单的API。
这更容易,有一个python库可供使用:remove the animation
作为一个侧面,我无法拒绝评论你的句子"我被告知python是最好的全能学习,因为它以一种整洁的方式做所有事情,即代码更少,更直观。"。
Python确实是一门很好的学习语言,但是所有语言都有其优点和缺点,所以尽量忘记"有最好的语言"。如果是这种情况,我们都会使用同一个,而不是学习其中许多人:)答案 1 :(得分:4)
你应该注意,虽然你可以关注和取消关注用户,喜欢和不喜欢媒体。你不能使用他们的API发布到Instagram。
答案 2 :(得分:1)
您是否已经拥有一些初始编程经验?如果没有,请快速了解python世界。已有大量良好的信息来源/ tutorials。
为了与Instagram沟通,您将与Instagram API进行互动。这是Instagram提供的一组功能,允许您与其数据进行交互。这些交互发生在http请求中,它们通常以json格式化。
幸运的是,在python中存在一个已经封装了大部分API交互的库,可以找到here。这样你就不必担心http请求部分,我认为这对初学者来说可能相当困难。如果你对python感觉有点舒服,你应该浏览github项目的read-me文件;它应该给你一个如何开始的基本想法。
答案 3 :(得分:1)
我已经使用此api在Instagram上发布 https://github.com/LevPasha/Instagram-API-python 这是代码:
InstagramAPI = InstagramAPI(user,pwd)
InstagramAPI.login() # login
photo_path ='path to image'
caption = "your caption"
InstagramAPI.uploadPhoto(photo_path, caption = caption)
答案 4 :(得分:1)
一个想法是使用 Selenium , webdriver 和 chromedriver 打开Chrome标签,登录帐户并执行诸如单击的操作在某个地方,做点什么,等等。
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from time import sleep, strftime
from random import randint
import pandas as pd
optionss = webdriver.ChromeOptions()
optionss.binary_location = 'C:/Program Files (x86)/Google/Chrome Beta/Application/chrome.exe' # Directory where your chrome.exe is
chrome_driver_binary = './chromedriver.exe' # Change this to your own chromedriver path!
webdriver = webdriver.Chrome(executable_path=chrome_driver_binary, options=optionss)
sleep(2)
webdriver.get('https://www.instagram.com/accounts/login/?source=auth_switcher')
sleep(3)
username = webdriver.find_element_by_name('username')
username.send_keys('YOUR-USERNAME')
password = webdriver.find_element_by_name('password')
password.send_keys('YOUR-PASS')
button_login = webdriver.find_element_by_xpath('//button[normalize-space()="Login"]')
button_login.click()
sleep(4)
notnow = webdriver.find_element_by_xpath('//button[normalize-space()="Not now"]')
notnow.click() #comment these last 2 lines out, if you don't get a pop up asking about notifications
sleep(2)
##############
### From here, put the tasks you want to be done,
### like click to send image, etc, etc.
### You need to study the html code.
##############
根据要执行的任务,在彼此之间放置一些 sleep(),以避免您的帐户被暂停一段时间。
要获取那些 XPath ,我使用Opera浏览器。右键单击>检查元素> 查找html代码>右键单击此html代码>复制>复制XPath或完整XPath
并将其用于 find_element_by_xpath 。有很多方法可以做到……选择您的。
答案 5 :(得分:0)
我认为如果你从未在Instagram之前编程,那可能不是一个好的第一个项目。不过,这是一个很好的激励中期目标。
等互动教程答案 6 :(得分:0)
它有点沉重,但是您可以使用Selenium并在浏览器中创建一个机器人。如果您不想阅读网络代码,甚至可以在窗口上自动单击。
答案 7 :(得分:0)
最近我开始认真研究这个问题。 Instagram曾经关闭了所有以前能够执行此操作的API,如果发现您确实存在,它们甚至可能禁止您的帐户。
我想出了一个使用Python,Selenium和Docker的非常简单的解决方案。 只需安装Docker并按照说明进行操作即可:
https://github.com/RunlevelConsulting/Automate-Instagram-Uploads
答案 8 :(得分:0)
我看到很多答案已经很旧了,而且它们在 2021 年不起作用,所以这里是 Instagram 机器人的最新工作方法。
我正在使用 instabot python 库,它允许您上传帖子、故事、视频、发表评论等等。它有一些问题,但此代码会为您处理所有这些问题。享受!
from instabot import Bot
import os
import shutil
def clean_up():
dir = "config"
remove_me = "imgs\img.jpg.REMOVE_ME"
# checking whether config folder exists or not
if os.path.exists(dir):
try:
# removing it so we can upload new image
shutil.rmtree(dir)
except OSError as e:
print("Error: %s - %s." % (e.filename, e.strerror))
if os.path.exists(remove_me):
src = os.path.realpath("imgs\img.jpg")
os.rename(remove_me, src)
def upload_post():
bot = Bot()
bot.login(username="your_username", password="your_password")
bot.upload_photo("imgs/img.jpg", caption="Caption for the post")
if __name__ == '__main__':
clean_up()
upload_post()
答案 9 :(得分:-3)
因为我对此一无所知,但我的目标是可以的 人们根据我应该学习的东西建议我从哪里开始 任务?然后我可以激光聚焦我需要学习和工作的东西 一块一块。
很难回答。但我会尽我所能。
在Github上,有一个很棒的instagram bot project。你可以尝试一下。但是当你尝试时,你会意识到你无法学习python的基本概念就能理解这个项目。
所以,从Sololearn开始。与Stack溢出类似,Sololearn拥有庞大的社区。 (不像堆栈溢出sololearn社区是友好的)