Я решил написать скрипт-бот который покупает предмет при его определенной цене и чтобы он проверял сразу несколько предметов а не один пришлось создать несколько функций выполняющих по сути одно и то же, но для других предметов. Как упростить это? сайт с док 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)