InstaPy / InstaPy

πŸ“· Instagram Bot - Tool for automated Instagram interactions
GNU General Public License v3.0
16.73k stars 3.77k forks source link

Issues Automating InstaPy with Cron #2093

Closed victorsandovalmattar closed 5 years ago

victorsandovalmattar commented 6 years ago

Hello friends. I am running a script to β€œInteract with someone else's followers” in a Digital Ocean droplet, and itΒ΄s working like a charm. Here follows the script: import os import time from tempfile import gettempdir

from selenium.common.exceptions import NoSuchElementException

from instapy import InstaPy

insta_username = '' insta_password = ''

set headless_browser=True if you want to run InstaPy on a server

set these in instapy/settings.py if you're locating the

library in the /usr/lib/pythonX.X/ directory:

Settings.database_location = '/path/to/instapy.db'

Settings.chromedriver_location = '/path/to/chromedriver'

session = InstaPy(username=insta_username, password=insta_password, headless_browser=True, multi_logs=True)

try: session.login()

# settings
session.set_relationship_bounds(enabled=True,
                             potency_ratio=None,
                              delimit_by_numbers=True,
                               max_followers=3000,
                                max_following=2000,
                                 min_followers=200,
                                  min_following=200)
session.set_user_interact(amount=2, randomize=False, percentage=100, media='Photo')
session.set_do_follow(enabled=True, percentage=50)
session.set_do_like(enabled=True, percentage=100)
session.set_do_comment(enabled=True, percentage=50)
session.set_comments([u'πŸ“·πŸ”οΏ½,u'πŸ“·β€πŸ™οΏ½,u'β€πŸ“·πŸ”,u'πŸ”πŸ“·β€])

# actions
session.interact_user_followers(['blogviagensevivencias'], amount=30, randomize=False)
session.interact_user_followers(['vamospraonde'], amount=30, randomize=False)
session.interact_user_followers(['viajando_sem_parar'], amount=30, randomize=False)
session.interact_user_followers(['casaldailha'], amount=30, randomize=False)
session.interact_user_followers(['tripadoiss'], amount=30, randomize=False)
session.interact_user_followers(['vivendoepostando'], amount=30, randomize=False)
session.interact_user_followers(['vibenaviagem'], amount=30, randomize=False)
session.interact_user_followers(['praiasexoticas'], amount=30, randomize=False)
session.interact_user_followers(['viagemeturismo'], amount=30, randomize=False)
session.interact_user_followers(['revistaviajar'], amount=30, randomize=False)
session.interact_user_followers(['casaldailha'], amount=30, randomize=False)
session.interact_user_followers(['alemaoviajante'], amount=30, randomize=False)
session.interact_user_followers(['brazilmaravilhas'], amount=30, randomize=False)
session.interact_user_followers(['trilheiros_do_brasil'], amount=30, randomize=False)
session.interact_user_followers(['mturismo'], amount=30, randomize=False)
session.interact_user_followers(['visitbrasil'], amount=30, randomize=False)
session.interact_user_followers(['destinosbrasileiros'], amount=30, randomize=False)
session.interact_user_followers(['wanderlustbrazil'], amount=30, randomize=False)
session.interact_user_followers(['descobrindoobrasil'], amount=30, randomize=False)
session.interact_user_followers(['muraldobrasil'], amount=30, randomize=False)
session.interact_user_followers(['viabr'], amount=30, randomize=False)
session.interact_user_followers(['olhar_brasil'], amount=30, randomize=False)
session.interact_user_followers(['from.brasil'], amount=30, randomize=False)
session.interact_user_followers(['br.naturallandscapes'], amount=30, randomize=False)
session.interact_user_followers(['great_captures_brazil'], amount=30, randomize=False)
session.interact_user_followers(['brasilnature'], amount=30, randomize=False)
session.interact_user_followers(['destinosbaianos'], amount=30, randomize=False)

except Exception as exc:

if changes to IG layout, upload the file to help us locate the change

if isinstance(exc, NoSuchElementException):
    file_path = os.path.join(gettempdir(), '{}.html'.format(time.strftime('%Y%m%d-%H%M%S')))
    with open(file_path, 'wb') as fp:
        fp.write(session.browser.page_source.encode('utf8'))
    print('{0}\nIf raising an issue, please also upload the file located at:\n{1}\n{0}'.format(
        '*' * 70, file_path))
# full stacktrace when raising Github issue
raise

finally:

end the bot session

session.end()

But when I set my crontab to run it, it acts weird. It follows and comments on some peopleΒ΄s photos, then it unfollows a couple hours later, and don’t like any photos.

My crontab command line is:

25 17 * cd /root/InstaPy && python3 victor.py

What am I doing wrong friends?

CharlesCCC commented 6 years ago

Can you please share your general.log file ?

victorsandovalmattar commented 6 years ago

Thanks for the help CharlesCCC. Sorry about that but how do I do this?

victorsandovalmattar commented 6 years ago

is that it?

cron: can't lock /var/run/crond.pid, otherpid may be 26565: Resource temporarily unavailable root@ubuntu-s-1vcpu-1gb-nyc1-01:~# grep CRON /var/log/syslog May 23 06:30:01 ubuntu-s-1vcpu-1gb-nyc1-01 CRON[20232]: (root) CMD ( test -x /etc/cron.daily/popularity-contest && /etc/cron.daily/popularity-contest --crond) May 23 07:17:01 ubuntu-s-1vcpu-1gb-nyc1-01 CRON[20916]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly) May 23 08:17:01 ubuntu-s-1vcpu-1gb-nyc1-01 CRON[21765]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly) May 23 09:17:01 ubuntu-s-1vcpu-1gb-nyc1-01 CRON[22212]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly) May 23 10:17:01 ubuntu-s-1vcpu-1gb-nyc1-01 CRON[22679]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly) May 23 11:17:01 ubuntu-s-1vcpu-1gb-nyc1-01 CRON[23125]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly) May 23 12:17:01 ubuntu-s-1vcpu-1gb-nyc1-01 CRON[23534]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly) May 23 13:17:01 ubuntu-s-1vcpu-1gb-nyc1-01 CRON[23973]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly) May 23 14:17:01 ubuntu-s-1vcpu-1gb-nyc1-01 CRON[24836]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly) May 23 15:17:01 ubuntu-s-1vcpu-1gb-nyc1-01 CRON[25388]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly) May 23 16:17:01 ubuntu-s-1vcpu-1gb-nyc1-01 CRON[25834]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly) May 23 17:17:01 ubuntu-s-1vcpu-1gb-nyc1-01 CRON[26413]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly) May 23 17:22:40 ubuntu-s-1vcpu-1gb-nyc1-01 cron[26565]: (CRON) INFO (pidfile fd = 3) May 23 17:22:40 ubuntu-s-1vcpu-1gb-nyc1-01 cron[26565]: (CRON) INFO (Skipping @reboot jobs -- not system startup) May 23 17:25:01 ubuntu-s-1vcpu-1gb-nyc1-01 CRON[26623]: (root) CMD (cd /root/InstaPy && python3 victor.py) May 23 18:17:01 ubuntu-s-1vcpu-1gb-nyc1-01 CRON[27311]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly) May 23 19:17:01 ubuntu-s-1vcpu-1gb-nyc1-01 CRON[27921]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly) May 23 20:17:01 ubuntu-s-1vcpu-1gb-nyc1-01 CRON[28391]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly) May 23 21:17:01 ubuntu-s-1vcpu-1gb-nyc1-01 CRON[29009]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly) May 23 22:17:01 ubuntu-s-1vcpu-1gb-nyc1-01 CRON[6705]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly) May 23 22:25:26 ubuntu-s-1vcpu-1gb-nyc1-01 cron[6778]: (CRON) DEATH (can't lock /var/run/crond.pid, otherpid may be 26565: Resource temporarily unavailable) May 23 22:25:34 ubuntu-s-1vcpu-1gb-nyc1-01 cron[6780]: (CRON) DEATH (can't lock /var/run/crond.pid, otherpid may be 26565: Resource temporarily unavailable) root@ubuntu-s-1vcpu-1gb-nyc1-01:~#

victorsandovalmattar commented 6 years ago

● cron.service - Regular background program processing daemon Loaded: loaded (/lib/systemd/system/cron.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2018-05-23 17:22:40 UTC; 5h 9min ago Docs: man:cron(8) Main PID: 26565 (cron) CGroup: /system.slice/cron.service β”œβ”€26565 /usr/sbin/cron -f β”œβ”€26622 /usr/sbin/CRON -f β”œβ”€26623 /bin/sh -c cd /root/InstaPy && python3 victor.py β”œβ”€26624 python3 victor.py β”œβ”€26628 /root/InstaPy/assets/chromedriver --port=34491 β”œβ”€26636 /usr/bin/google-chrome --disable-background-networking --disable-client-side-phishing-detection --disable-default-apps --disable-hang-monitor --disable-popup-blocking --disable-prompt-on-repost --disable- β”œβ”€26642 cat β”œβ”€26643 cat β”œβ”€26645 /opt/google/chrome/chrome --type=zygote --no-sandbox --enable-logging --headless --log-level=0 --headless --user-agent=Chrome --enable-crash-reporter β”œβ”€26671 /opt/google/chrome/chrome --type=gpu-process --enable-logging --headless --log-level=0 --no-sandbox --headless --user-agent=Chrome --enable-crash-reporter --gpu-preferences=KAAAAAAAAACAAACAAQAAAAAAAAAAAGA └─26714 /opt/google/chrome/chrome --type=renderer --enable-automation --enable-logging --log-level=0 --no-sandbox --test-type=webdriver --use-gl=swiftshader-webgl --disable-gpu-compositing --service-pipe-token=B7

May 23 19:17:01 ubuntu-s-1vcpu-1gb-nyc1-01 CRON[27920]: pam_unix(cron:session): session closed for user root May 23 20:17:01 ubuntu-s-1vcpu-1gb-nyc1-01 CRON[28390]: pam_unix(cron:session): session opened for user root by (uid=0) May 23 20:17:01 ubuntu-s-1vcpu-1gb-nyc1-01 CRON[28391]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly) May 23 20:17:01 ubuntu-s-1vcpu-1gb-nyc1-01 CRON[28390]: pam_unix(cron:session): session closed for user root May 23 21:17:01 ubuntu-s-1vcpu-1gb-nyc1-01 CRON[29008]: pam_unix(cron:session): session opened for user root by (uid=0) May 23 21:17:01 ubuntu-s-1vcpu-1gb-nyc1-01 CRON[29009]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly) May 23 21:17:01 ubuntu-s-1vcpu-1gb-nyc1-01 CRON[29008]: pam_unix(cron:session): session closed for user root May 23 22:17:01 ubuntu-s-1vcpu-1gb-nyc1-01 CRON[6704]: pam_unix(cron:session): session opened for user root by (uid=0) May 23 22:17:01 ubuntu-s-1vcpu-1gb-nyc1-01 CRON[6705]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly) May 23 22:17:01 ubuntu-s-1vcpu-1gb-nyc1-01 CRON[6704]: pam_unix(cron:session): session closed for user root ...skipping... ● cron.service - Regular background program processing daemon Loaded: loaded (/lib/systemd/system/cron.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2018-05-23 17:22:40 UTC; 5h 9min ago Docs: man:cron(8) Main PID: 26565 (cron) CGroup: /system.slice/cron.service β”œβ”€26565 /usr/sbin/cron -f β”œβ”€26622 /usr/sbin/CRON -f β”œβ”€26623 /bin/sh -c cd /root/InstaPy && python3 victor.py β”œβ”€26624 python3 victor.py β”œβ”€26628 /root/InstaPy/assets/chromedriver --port=34491 β”œβ”€26636 /usr/bin/google-chrome --disable-background-networking --disable-client-side-phishing-detection --disable-default-apps --disable-hang-monitor --disable-popup-blocking --disable-prompt-on-repost --disable- β”œβ”€26642 cat β”œβ”€26643 cat β”œβ”€26645 /opt/google/chrome/chrome --type=zygote --no-sandbox --enable-logging --headless --log-level=0 --headless --user-agent=Chrome --enable-crash-reporter β”œβ”€26671 /opt/google/chrome/chrome --type=gpu-process --enable-logging --headless --log-level=0 --no-sandbox --headless --user-agent=Chrome --enable-crash-reporter --gpu-preferences=KAAAAAAAAACAAACAAQAAAAAAAAAAAGA └─26714 /opt/google/chrome/chrome --type=renderer --enable-automation --enable-logging --log-level=0 --no-sandbox --test-type=webdriver --use-gl=swiftshader-webgl --disable-gpu-compositing --service-pipe-token=B7

May 23 19:17:01 ubuntu-s-1vcpu-1gb-nyc1-01 CRON[27920]: pam_unix(cron:session): session closed for user root May 23 20:17:01 ubuntu-s-1vcpu-1gb-nyc1-01 CRON[28390]: pam_unix(cron:session): session opened for user root by (uid=0) May 23 20:17:01 ubuntu-s-1vcpu-1gb-nyc1-01 CRON[28391]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly) May 23 20:17:01 ubuntu-s-1vcpu-1gb-nyc1-01 CRON[28390]: pam_unix(cron:session): session closed for user root May 23 21:17:01 ubuntu-s-1vcpu-1gb-nyc1-01 CRON[29008]: pam_unix(cron:session): session opened for user root by (uid=0) May 23 21:17:01 ubuntu-s-1vcpu-1gb-nyc1-01 CRON[29009]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly) May 23 21:17:01 ubuntu-s-1vcpu-1gb-nyc1-01 CRON[29008]: pam_unix(cron:session): session closed for user root May 23 22:17:01 ubuntu-s-1vcpu-1gb-nyc1-01 CRON[6704]: pam_unix(cron:session): session opened for user root by (uid=0) May 23 22:17:01 ubuntu-s-1vcpu-1gb-nyc1-01 CRON[6705]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly) May 23 22:17:01 ubuntu-s-1vcpu-1gb-nyc1-01 CRON[6704]: pam_unix(cron:session): session closed for user root

CharlesCCC commented 6 years ago

nope, that not it. if you cd to /Instapy/Logs folder, you should have seem it there or under your username.

ghost commented 6 years ago

Sorta the same problem as me,,,,,, try adding this code to sudo crontab -e

*/5 * * * * pgrep -f quickstart.py || nohup python3 /home/ubuntu/ifollow/InstaPy-master/quickstart.py > test.out

EDIT : THIS DIDNT WORK !!!!!!!

victorsandovalmattar commented 6 years ago

@uluQulu Would you help me please?

uluQulu commented 6 years ago

Hi @victorsandovalmattar I wish I could help but I have never used cron, that's why I can't be sure about it. But attaching your quickstart and general.log file (find in your logs folder) e.g. in a zip would help to understand the issue a bit. (don't forget to remove personal information) *Attach the same files connected to that problematic situation.

@CharlesCCC, does cron job also write to general.log?

SeanFmcdonnell commented 5 years ago

I've setup cron on Ubuntu with the following command 0 /3 /home/ubuntu/InstaPy && python3.5 quickstart.py

It doesn't seem to be working. What's the best way to see if it's working? I'd like to be able to setup an email notification once it has started or completed or both...