как отправить спарщеные данные в телеграм
всем привет, пишу парсер, и не могу понять как вытащить данные из бд, чтобы бот отправил сообщение с теми данными которые я вытащил с сайта, подскажите пожалуйста будет удобно если напишите в телеграмме: @deadwalk882
from bs4 import BeautifulSoup
import csv
from config import headers, token, chat_id
from time import sleep
import sqlite3
URL = 'https://tyumen.vsn.ru/sale-flat/from-owner?advertisement%5Broom%5D%5B0%5D=1&advertisement%5Broom%5D%5B1%5D=1&advertisement%5Broom%5D%5B2%5D=1&advertisement%5Broom%5D%5B3%5D=1&advertisement%5Broom%5D%5B4%5D=1&order=new'
db = sqlite3.connect('vns.db')
cursor = db.cursor()
cursor.execute("CREATE TABLE IF NOT EXISTS flats (title text, price text, time text, link text)")
def get_html(url, params=None):
proxies = {'http': ''}
auth = requests.auth.HTTPProxyAuth('', '')
r = requests.get(url, headers=headers, params=params, proxies=proxies, auth=auth)
return r
def get_content(html):
soup = BeautifulSoup(html, 'html.parser')
items = soup.find_all('li', class_='media clearfix object')
flats = []
for item in items:
flats.append([
item.find('a', class_='header_adv_short').get_text(strip=True),
item.find('div', class_='object__lead').get_text(strip=True) + ' рублей',
item.find('time', class_='smart_time object__date').get('datetime'),
item.find('a', class_='header_adv_short').get('href')
])
cursor.executemany("INSERT INTO flats VALUES (?, ?, ?, ?)", flats)
cursor.execute("SELECT * FROM flats")
send_telegram()
print(cursor.fetchall())
db.commit()
def send_telegram():
url = f'https://api.telegram.org/bot{token}/sendMessage'
data = {
'chat_id': chat_id,
'text': text,
'parse_mode': 'HTML'
}
response = requests.post(url=url, data=data)
print(response)
def parse():
html = get_html(URL)
if html.status_code == 200:
flats = get_content(html.text)
else:
print('Error')
sleep(5)
parse()