Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
wiseplat
GitHub Repository: wiseplat/python-code
Path: blob/master/instagram-bot/main_2.py
5925 views
1
from auth import login, password
2
from selenium import webdriver
3
from selenium.webdriver.common.keys import Keys
4
from selenium.webdriver.common.by import By
5
import time, random
6
7
browser = None
8
9
10
def login_firefox_chrome(_browser, login, password):
11
global browser
12
if _browser == "Chrome":
13
browser = webdriver.Chrome()
14
else:
15
browser = webdriver.Firefox()
16
browser.implicitly_wait(5)
17
browser.get('https://www.instagram.com')
18
time.sleep(random.randrange(1, 2))
19
20
_login = browser.find_element(By.NAME, "username")
21
_login.clear()
22
_login.send_keys(login)
23
24
time.sleep(random.randrange(1, 2))
25
26
_password = browser.find_element(By.NAME, "password")
27
_password.clear()
28
_password.send_keys(password)
29
30
time.sleep(random.randrange(1, 2))
31
32
_password.send_keys(Keys.ENTER)
33
34
# _login_button = browser.find_element_by_css_selector('button[type="submit"]')
35
# _login_button.click()
36
37
38
def close_browser():
39
global browser
40
browser.close()
41
browser.quit()
42
43
44
def search_by_hashtag(hashtag):
45
global browser
46
browser.get(f"https://www.instagram.com/explore/tags/{hashtag}/")
47
48
for i in range(1,4):
49
browser.execute_script("window.scrollTo(0, document.body.scrollHeight);")
50
time.sleep(random.randrange(2, 5))
51
52
hrefs = browser.find_elements_by_tag_name('a')
53
urls = [item.get_attribute('href') for item in hrefs if "/p/" in item.get_attribute('href')]
54
print(urls)
55
56
for url in urls:
57
browser.get(url)
58
time.sleep(random.randrange(2, 5))
59
like = browser.find_element(By.XPATH, "/html/body/div[1]/section/main/div/div[1]/article/div[3]/section[1]/span[1]/button")
60
like.click()
61
time.sleep(random.randrange(85, 105))
62
63
# for item in hrefs:
64
# href = item.get_attribute('href')
65
# if "/p/" in href:
66
# urls.append(href)
67
# print(href)
68
69
70
login_firefox_chrome("Chrome", login, password)
71
time.sleep(5)
72
search_by_hashtag("lamborghini")
73
time.sleep(200)
74
close_browser()
75
76
77