Не записываются файлы python3
Есть код, мне нужно сделать запись файла в документ, но она не проходит(Ниже конкретный код записи в файл)
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from us_data import username, password
import time
import random
class InstagramBot():
def __init__(self, USERNAME, PASSWORD):
self.username = USERNAME
self.password = PASSWORD
self.browser = webdriver.Chrome(executable_path="chromedriver/chromedriver.exe")
def close_browser(self):
self.browser.close()
self.browser.quit()
def login(self):
browser = self.browser
browser.get('https://www.instagram.com')
time.sleep(random.randrange(3, 5))
username_input = browser.find_element_by_name('username')
username_input.clear()
username_input.send_keys(username)
time.sleep(2)
password_input = browser.find_element_by_name('password')
password_input.clear()
password_input.send_keys(password)
password_input.send_keys(Keys.ENTER)
time.sleep(10)
def like_photo_by_hashtag(self, hashtag):
browser = self.browser
browser.get(f'https://www.instagram.com/explore/tags/{hashtag}/')
time.sleep(5)
for i in range(1, 4):
browser.execute_script('window.scrollTo(0, document.body.scrollHeight);')
time.sleep((random.randrange(3, 5)))
hrefs = browser.find_elements_by_tag_name('a')
posts_urls = []
for item in hrefs:
href = item.get_attribute('href')
if '/p/' in href:
posts_urls.append(href)
print(posts_urls)
for url in posts_urls[0:1]:
try:
browser.get(url)
like_button = browser.find_element_by_class_name('fr66n').click()
time.sleep(10)
browser.close()
browser.quit()
except Exception as ex:
print(ex)
self.close_browser()
def xpath_exist(self, url):
browser = self.browser
try:
browser.find_element_by_xpath(url)
exist = True
except Exception:
exist = False
return exist
def put_exactly_like(self, userpost):
browser = self.browser
browser.get(userpost)
time.sleep(4)
wrong_userpage = '/html/body/div[1]/section/main/div/h2'
if self.xpath_exist(wrong_userpage):
print('Вы ошиблись, такого поста не существует')
self.close_browser()
else:
print('Пост найден - лайк')
time.sleep(2)
like_button = 'fr66n'
browser.find_element_by_class_name(like_button).click()
def put_many_likes(self, userpage):
browser = self.browser
browser.get(userpage)
time.sleep(2)
wrong_userpage = '/html/body/div[1]/section/main/div/h2'
if self.xpath_exist(wrong_userpage):
print('Вы ошиблись, такого поользователя не существует')
self.close_browser()
else:
print('Пользователь найден - лайк')
time.sleep(2)
posts_count = int(browser.find_element_by_xpath('/html/body/div[1]/section/main/div/header/section/ul/li[1]/span/span').text)
loops_count = int(posts_count / 12)
print(loops_count)
post_url = []
for i in range(0, loops_count):
hrefs = browser.find_elements_by_tag_name('a')
hrefs = [item.get_attribute('href') for item in hrefs if "/p/" in item.get_attribute('href')]
for href in hrefs:
post_url.append(href)
browser.execute_script("window.scrollTo(0, document.body.scrollHeight);")
time.sleep(random.randrange(2, 4))
print(f"Итерация #{i}")
file_name = userpage.split("/")[-2]
with open(f'{file_name}.txt', 'a') as file:
for posts_urls in post_url:
file.write(posts_urls + "\n")
file.close()
self.close_browser()
bot = InstagramBot(username,password)
bot.login()
bot.put_many_likes('https://www.instagram.com/elric180/')
КОд записи в файл:
file_name = userpage.split("/")[-2]
with open(f'{file_name}.txt', 'a') as file:
for posts_urls in post_url:
file.write(posts_urls + "\n")
file.close()