M
M
mercmarcus2022-03-15 15:03:15
Python
mercmarcus, 2022-03-15 15:03:15

How to connect a database in Heroku?

There is a parser script. Collects information, compares data with .txt file. Deploy to Heroku. But there is no file system and my .txt file doesn't work. And how to connect a database instead of a .txt file? I'll provide the code below.

def getData():

    postsFile = open('posts.txt','r+') # Открываем файл на чтение и запись
    posts = postsFile.read().splitlines() # Читаем файл и помещаем строки в список posts
    
    response = requests.get('ссылка') # Загружаем страницу
    soup = BeautifulSoup(response.text,'lxml')

    datas = soup.find('section',class_='page__body').find_all('li',class_='content-list__item') # Ищем все теги 
    # с классом 
    for data in datas: # Проходимся по всем данным
        title = data.find('h2',class_='data__title').text.strip() # Получаем заголовок
        url = data.find('h2',class_='data__title').a.get('href') # Получаем ссылку
        if not url in posts: # Если ссылки нет в списке posts, тогда:
            print(title) # Печатаем заголовок 
            postsFile.writelines(url+'\n') # И ссылку записываем в файл posts.txt
    postsFile.close() # Закрываем файл

while True: # "Вечный" цикл
    getData() # Вызываем функцию получения новых вопросов
    time.sleep(30) # Делаем паузу на 30 секунд
    print('----------')

Answer the question

In order to leave comments, you need to log in

1 answer(s)
M
MaxKozlov, 2022-03-15
@MaxKozlov

instead of

postsFile = open('posts.txt','r+') # Открываем файл на чтение и запись
posts = postsFile.read().splitlines() # Читаем файл и помещаем строки в список posts
you will have a connection to the database, create a table if necessary
, and read data from it,
and instead
postsFile.writelines(url+'\n') # И ссылку записываем в файл posts.txt

writing to the database the
very first example of working from Google on request " python postgresql "
https://pythonru.com/biblioteki/vvedenie-v-postgre...
on the advice of Alexander , link to the Heroku Postgres addon
https://elements.heroku .com/addons/heroku-postgresql
you will need it to connect the actual database from heroku

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question