mirror of
https://github.com/KUlishevgeniy/c22712.git
synced 2026-09-24 08:00:22 +00:00
Парсер БОТ V2
This commit is contained in:
Generated
+1
-1
@@ -4,7 +4,7 @@
|
||||
<content url="file://$MODULE_DIR$">
|
||||
<excludeFolder url="file://$MODULE_DIR$/venv" />
|
||||
</content>
|
||||
<orderEntry type="jdk" jdkName="Python 3.9 (venv)" jdkType="Python SDK" />
|
||||
<orderEntry type="jdk" jdkName="Python 3.11 (1)" jdkType="Python SDK" />
|
||||
<orderEntry type="sourceFolder" forTests="false" />
|
||||
</component>
|
||||
</module>
|
||||
Generated
+1
-1
@@ -1,4 +1,4 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ProjectRootManager" version="2" project-jdk-name="Python 3.9 (venv)" project-jdk-type="Python SDK" />
|
||||
<component name="ProjectRootManager" version="2" project-jdk-name="Python 3.11 (1)" project-jdk-type="Python SDK" />
|
||||
</project>
|
||||
Generated
+38
-5
@@ -4,9 +4,12 @@
|
||||
<option name="autoReloadType" value="SELECTIVE" />
|
||||
</component>
|
||||
<component name="ChangeListManager">
|
||||
<list default="true" id="e5615680-c090-497d-a104-1337ed85f850" name="Changes" comment="Дз парсинг ВВ">
|
||||
<change afterPath="$PROJECT_DIR$/Задания/task1/Kulikov/L_BOT_try1.py" afterDir="false" />
|
||||
<list default="true" id="e5615680-c090-497d-a104-1337ed85f850" name="Changes" comment="Парсер БОТ">
|
||||
<change beforePath="$PROJECT_DIR$/.idea/22712.iml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/22712.iml" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/.idea/misc.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/misc.xml" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Задания/task1/Kulikov/L_BOT_try1.py" beforeDir="false" afterPath="$PROJECT_DIR$/Задания/task1/Kulikov/L_BOT_try1.py" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Задания/task1/Kulikov/db_parsV2.0.py" beforeDir="false" afterPath="$PROJECT_DIR$/Задания/task1/Kulikov/db_parsV2.0.py" afterDir="false" />
|
||||
</list>
|
||||
<option name="SHOW_DIALOG" value="false" />
|
||||
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
||||
@@ -47,7 +50,7 @@
|
||||
<recent name="C:\Users\Honor\Desktop\учеба\прога\c22712\Задания\task1\Prokhorova" />
|
||||
</key>
|
||||
</component>
|
||||
<component name="RunManager" selected="Python.errors">
|
||||
<component name="RunManager" selected="Python.db_parsV2.0">
|
||||
<configuration name="DZ_PARSBD" type="PythonConfigurationType" factoryName="Python" temporary="true" nameIsGenerated="true">
|
||||
<module name="22712" />
|
||||
<option name="INTERPRETER_OPTIONS" value="" />
|
||||
@@ -69,6 +72,27 @@
|
||||
<option name="INPUT_FILE" value="" />
|
||||
<method v="2" />
|
||||
</configuration>
|
||||
<configuration name="db_parsV2.0" type="PythonConfigurationType" factoryName="Python" temporary="true" nameIsGenerated="true">
|
||||
<module name="22712" />
|
||||
<option name="INTERPRETER_OPTIONS" value="" />
|
||||
<option name="PARENT_ENVS" value="true" />
|
||||
<envs>
|
||||
<env name="PYTHONUNBUFFERED" value="1" />
|
||||
</envs>
|
||||
<option name="SDK_HOME" value="" />
|
||||
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/Задания/task1/Kulikov" />
|
||||
<option name="IS_MODULE_SDK" value="true" />
|
||||
<option name="ADD_CONTENT_ROOTS" value="true" />
|
||||
<option name="ADD_SOURCE_ROOTS" value="true" />
|
||||
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/Задания/task1/Kulikov/db_parsV2.0.py" />
|
||||
<option name="PARAMETERS" value="" />
|
||||
<option name="SHOW_COMMAND_LINE" value="false" />
|
||||
<option name="EMULATE_TERMINAL" value="false" />
|
||||
<option name="MODULE_MODE" value="false" />
|
||||
<option name="REDIRECT_INPUT" value="false" />
|
||||
<option name="INPUT_FILE" value="" />
|
||||
<method v="2" />
|
||||
</configuration>
|
||||
<configuration name="errors" type="PythonConfigurationType" factoryName="Python" temporary="true" nameIsGenerated="true">
|
||||
<module name="22712" />
|
||||
<option name="INTERPRETER_OPTIONS" value="" />
|
||||
@@ -156,6 +180,7 @@
|
||||
</configuration>
|
||||
<recent_temporary>
|
||||
<list>
|
||||
<item itemvalue="Python.db_parsV2.0" />
|
||||
<item itemvalue="Python.errors" />
|
||||
<item itemvalue="Python.mistakes" />
|
||||
<item itemvalue="Python.DZ_PARSBD" />
|
||||
@@ -229,7 +254,14 @@
|
||||
<option name="project" value="LOCAL" />
|
||||
<updated>1684673567872</updated>
|
||||
</task>
|
||||
<option name="localTasksCounter" value="9" />
|
||||
<task id="LOCAL-00009" summary="Парсер БОТ">
|
||||
<created>1684788290316</created>
|
||||
<option name="number" value="00009" />
|
||||
<option name="presentableId" value="LOCAL-00009" />
|
||||
<option name="project" value="LOCAL" />
|
||||
<updated>1684788290316</updated>
|
||||
</task>
|
||||
<option name="localTasksCounter" value="10" />
|
||||
<servers />
|
||||
</component>
|
||||
<component name="TypeScriptGeneratedFilesManager">
|
||||
@@ -251,7 +283,8 @@
|
||||
<MESSAGE value="parser" />
|
||||
<MESSAGE value="Дз парсинг" />
|
||||
<MESSAGE value="Дз парсинг ВВ" />
|
||||
<option name="LAST_COMMIT_MESSAGE" value="Дз парсинг ВВ" />
|
||||
<MESSAGE value="Парсер БОТ" />
|
||||
<option name="LAST_COMMIT_MESSAGE" value="Парсер БОТ" />
|
||||
</component>
|
||||
<component name="XDebuggerManager">
|
||||
<breakpoint-manager>
|
||||
|
||||
@@ -0,0 +1,36 @@
|
||||
import telebot
|
||||
import psycopg2
|
||||
from telebot import types
|
||||
tovars=['1','2','3','4']
|
||||
|
||||
def getcontent(i):
|
||||
connection = psycopg2.connect(dbname='dbdata',
|
||||
user='postgres', password='Q1w2e3r4',
|
||||
host='localhost')
|
||||
cursor = connection.cursor()
|
||||
cursor.execute('''SELECT id, phone, price
|
||||
FROM public.svyaznoy
|
||||
where id = ''' + str(i))
|
||||
b = cursor.fetchall()
|
||||
for a in b:
|
||||
c = 'Название модели: ' + str(a[1]) + ' Цена: ' + str(a[2])
|
||||
cursor.close()
|
||||
connection.close()
|
||||
return c
|
||||
|
||||
bot = telebot.TeleBot('6053050329:AAFEBguQ5-UE80bB_aNjjSoUdIT91BlPJCY')
|
||||
@bot.message_handler(commands=["start"])
|
||||
def start(m, res=False):
|
||||
bot.send_message(m.chat.id, 'Здравствуйте, я Ваш бот, и вы попали в магазин, в котором есть всего 4 товара! Напишите цифру от 1 до 4,чтобы узнать информацию о нем)')
|
||||
@bot.message_handler(content_types=['text'])
|
||||
def handle_text(message):
|
||||
if message.text.strip() in tovars:
|
||||
answer = getcontent(message.text.strip())
|
||||
bot.send_message(message.chat.id, answer)
|
||||
img = open('tovar'+str(message.text.strip())+'.jpeg','rb')
|
||||
bot.send_photo(message.chat.id, img)
|
||||
else:
|
||||
answer = 'Да, пока только 4, но все впереди!'
|
||||
bot.send_message(message.chat.id, answer)
|
||||
|
||||
bot.polling(none_stop=True, interval=0)
|
||||
@@ -1,53 +0,0 @@
|
||||
import telebot
|
||||
import psycopg2
|
||||
import config
|
||||
bot = telebot.TeleBot(6053050329:AAFEBguQ5-UE80bB_aNjjSoUdIT91BlPJCY)
|
||||
|
||||
def select(request):
|
||||
try:
|
||||
connection = psycopg2.connect(host=config.host, dbname=config.dbname, user=config.user,
|
||||
password=config.password)
|
||||
cursor = connection.cursor()
|
||||
cursor.execute(request)
|
||||
result = cursor.fetchall()
|
||||
except:
|
||||
result = "Ошибка"
|
||||
finally:
|
||||
cursor.close()
|
||||
connection.close()
|
||||
return result
|
||||
|
||||
max_id = int(select("select max(id) from laptops")[0][0])
|
||||
bot = telebot.TeleBot(6053050329:AAFEBguQ5-UE80bB_aNjjSoUdIT91BlPJCY)
|
||||
@bot.message_handler(commands=["start"])
|
||||
def start(m, res=False):
|
||||
bot.send_message(m.chat.id, f'Привет. Введите идентификатор от 1 до {max_id}, чтобы получить данные: ')
|
||||
|
||||
@bot.message_handler(content_types=["text"])
|
||||
def from_bd(message):
|
||||
try:
|
||||
current_id = int(message.text)
|
||||
except BaseException:
|
||||
bot.send_message(message.chat.id, "Вы неправильно ввели ID. Попробуйте снова:")
|
||||
return
|
||||
if current_id > max_id:
|
||||
bot.send_message(message.chat.id, "ID больше, чем количество товаров. Попробуйте снова:")
|
||||
return
|
||||
else:
|
||||
try:
|
||||
data = select(f"select * from laptops where id = {current_id}")[0][1:]
|
||||
if type(data) == str:
|
||||
bot.send_message(message.chat.id, "Ошибка на сервере")
|
||||
return
|
||||
s = data[:-1]
|
||||
names_of_columns = ["Товар", "Цена", "Диагональ", "Разрешение", "Процессор", "Оперативная память",
|
||||
"Графический контроллер", "Объём диска"]
|
||||
everydata = []
|
||||
for data_name, column_name in zip(s, names_of_columns):
|
||||
everydata.append(column_name.capitalize() + ": " + data_name)
|
||||
bot.send_message(message.chat.id, "\n\n".join(everydata))
|
||||
bot.send_photo(message.chat.id, open(data[-1], 'rb'))
|
||||
except:
|
||||
bot.send_message(message.chat.id, "Ошибка на сервере")
|
||||
bot.send_message(message.chat.id, f"Введите следующий ID от 1 до {max_id}:")
|
||||
bot.polling(none_stop=True, interval=0)
|
||||
|
||||
@@ -6,7 +6,7 @@ import time
|
||||
import wget
|
||||
import psycopg2
|
||||
import re
|
||||
s = Service('C:\Users\Alex\PycharmProjects\pythonProject\chromedriver.exe')
|
||||
s = Service('C:\\Users\\Alex\\PycharmProjects\\pythonProject\\chromedriver.exe')
|
||||
browser = webdriver.Chrome(service=s)
|
||||
browser.get('https://music.yandex.ru/chart')
|
||||
time.sleep (1)
|
||||
|
||||
Reference in New Issue
Block a user