@keymmmm

Как упростить мой торговый скрипт и избавиться от кучи функций?

Я решил написать скрипт-бот который покупает предмет при его определенной цене и чтобы он проверял сразу несколько предметов а не один пришлось создать несколько функций выполняющих по сути одно и то же, но для других предметов. Как упростить это? сайт с док api - https://rust.tm/docs-v2. Меняются здесь только hash_name, price, url ну и chip под определенную цену.
import requests
from bs4 import BeautifulSoup
from fake_useragent import UserAgent
import lxml
import time
from threading import Thread
import winsound

def main():
    headers = {
        'user-agent': UserAgent().random
        }

    url = "https://rust.tm/item/5377654596-0-Pirate%20Pantalones/"
    r=requests.get(url=url,headers=headers).text


    soup=BeautifulSoup(r,'lxml')
    price=soup.find("div",class_="ip-bestprice")
    chip=float(price.text)

    params = {
        'key': 'XXXXXXXXXXXXXXXXXXXXXXX',
        'hash_name': 'Pirate Pantalones',
        'price': chip*100
    }

    if (chip < 45):
        response = requests.get('https://rust.tm/api/v2/buy', params=params)
        print(response.json())
        winsound.Beep(500,1000)

def main1():
    headers = {
        'user-agent': UserAgent().random
        }

    url = "https://rust.tm/item/5377654597-0-Pirate%20Hoodie/"
    r=requests.get(url=url,headers=headers).text


    soup=BeautifulSoup(r,'lxml')
    price=soup.find("div",class_="ip-bestprice")
    chip=float(price.text)

    # Подставить нужные данные из API руководства
    params = {
        'key': 'XXXXXXXXXXXXXXXXXXX',
        'hash_name': 'Pirate Hoodie',
        'price': chip*100
    }

    if (chip < 45):
        response = requests.get('https://rust.tm/api/v2/buy', params=params)
        print(response.json())
        winsound.Beep(500,1000)

if __name__ == '__main__':
    while 1==1:
        count+=1
        Thread(target = main).start()
        time.sleep(1)
        Thread(target = main1).start()
        time.sleep(1)
  • Вопрос задан
  • 51 просмотр
Пригласить эксперта
Ответы на вопрос 1
AlexNest
@AlexNest Куратор тега Python
Работаю с Python/Django
Как упростить это?

Добавить в функцию соответствующие аргументы и указывать и при вызове.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы