Erstes Programm mit random Aussetzern
Verfasst: Dienstag 19. Januar 2021, 13:26
Moin Moin,
bin jetzt seit knapp vier Wochen dabei Python zu lernen...hab mich jetzt seit letzter Woche an mein erstes Eigenes Projekt gesetzt...
Soweit funktioniert auch alles, doch bekomme ich mal nach der 3 mal nach der "x"ten Listenabfrage einen "find_Item_price = soup.find_all(attrs={"market_table_value normal_price"})[0].find("span").text
IndexError: list index out of range" Fehler....
mag mir wer helfen? youtube und Internet habe ich bereits durchsucht.... =(
import requests
import pandas as pd
import time
from bs4 import BeautifulSoup
from math import pi
### Excel Daten abrufen:
file = pd.read_excel("Steam-Market.xlsx")
names_list = (file["Item"].values.tolist())
new_list= [str(s).replace(" ","+")for s in names_list]
### Item Name
def item_name(parameter):
URLname = "https://steamcommunity.com/market/searc ... =252490&q="+ (parameter)
headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.141 Safari/537.36"}
page = requests.get(URLname, headers=headers)
soup = BeautifulSoup(page.content, "html.parser")
find_item_name = soup.find_all(attrs={"market_listing_item_name_block"})[0].find("span").text
return find_item_name
#item_name(parameter)
### Item market site
def item_price(parameter):
URLitem = "https://steamcommunity.com/market/searc ... =252490&q="+ (parameter)
headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.141 Safari/537.36"}
page = requests.get(URLitem, headers=headers)
soup = BeautifulSoup(page.content, "html.parser")
### Item Price finden
find_Item_price = soup.find_all(attrs={"market_table_value normal_price"})[0].find("span").text
find_Item_price = find_Item_price.strip("USD $ ")
### Item Price to float USD
find_Item_price = float(find_Item_price)
#print(find_Item_price,"$")
return find_Item_price
#item_price()
### US $ in € umwandeln
def convert(parameter):
URL_EUR_Dollar = "https://www.google.com/search?q=1+euro+ ... e&ie=UTF-8"
headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.141 Safari/537.36"}
page = requests.get(URL_EUR_Dollar, headers=headers)
soup = BeautifulSoup(page.content, "html.parser")
find_EUR_Dollar = soup.find_all(attrs={"DFlfde SwHCTb"})[0].get("data-value")
find_EUR_Dollar = float(find_EUR_Dollar)
find_EUR_Dollar = (find_EUR_Dollar)
### Item von USD in Euro umrechnen
find_Item_price = item_price(parameter)
Price = (find_Item_price / find_EUR_Dollar)
Price = float(Price)
Price = round(Price,2)
#print(Price,"€")
return Price
for x in new_list:
#print(x)
Price = convert(x)
find_item_name = item_name(x)
print(find_item_name, Price,"€")
############
Ich habe eine Liste mit Steam Market Skins, die Namen der Items ergänze ich an eine URL um dann den Preis zu ermitteln...anschließend Dollar in EUR umrechnen und print().
bin jetzt seit knapp vier Wochen dabei Python zu lernen...hab mich jetzt seit letzter Woche an mein erstes Eigenes Projekt gesetzt...
Soweit funktioniert auch alles, doch bekomme ich mal nach der 3 mal nach der "x"ten Listenabfrage einen "find_Item_price = soup.find_all(attrs={"market_table_value normal_price"})[0].find("span").text
IndexError: list index out of range" Fehler....
mag mir wer helfen? youtube und Internet habe ich bereits durchsucht.... =(
import requests
import pandas as pd
import time
from bs4 import BeautifulSoup
from math import pi
### Excel Daten abrufen:
file = pd.read_excel("Steam-Market.xlsx")
names_list = (file["Item"].values.tolist())
new_list= [str(s).replace(" ","+")for s in names_list]
### Item Name
def item_name(parameter):
URLname = "https://steamcommunity.com/market/searc ... =252490&q="+ (parameter)
headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.141 Safari/537.36"}
page = requests.get(URLname, headers=headers)
soup = BeautifulSoup(page.content, "html.parser")
find_item_name = soup.find_all(attrs={"market_listing_item_name_block"})[0].find("span").text
return find_item_name
#item_name(parameter)
### Item market site
def item_price(parameter):
URLitem = "https://steamcommunity.com/market/searc ... =252490&q="+ (parameter)
headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.141 Safari/537.36"}
page = requests.get(URLitem, headers=headers)
soup = BeautifulSoup(page.content, "html.parser")
### Item Price finden
find_Item_price = soup.find_all(attrs={"market_table_value normal_price"})[0].find("span").text
find_Item_price = find_Item_price.strip("USD $ ")
### Item Price to float USD
find_Item_price = float(find_Item_price)
#print(find_Item_price,"$")
return find_Item_price
#item_price()
### US $ in € umwandeln
def convert(parameter):
URL_EUR_Dollar = "https://www.google.com/search?q=1+euro+ ... e&ie=UTF-8"
headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.141 Safari/537.36"}
page = requests.get(URL_EUR_Dollar, headers=headers)
soup = BeautifulSoup(page.content, "html.parser")
find_EUR_Dollar = soup.find_all(attrs={"DFlfde SwHCTb"})[0].get("data-value")
find_EUR_Dollar = float(find_EUR_Dollar)
find_EUR_Dollar = (find_EUR_Dollar)
### Item von USD in Euro umrechnen
find_Item_price = item_price(parameter)
Price = (find_Item_price / find_EUR_Dollar)
Price = float(Price)
Price = round(Price,2)
#print(Price,"€")
return Price
for x in new_list:
#print(x)
Price = convert(x)
find_item_name = item_name(x)
print(find_item_name, Price,"€")
############
Ich habe eine Liste mit Steam Market Skins, die Namen der Items ergänze ich an eine URL um dann den Preis zu ermitteln...anschließend Dollar in EUR umrechnen und print().