def parseListItemsPage(linkOnPage, ProcFuncArgs): resF = ProcFuncArgs[0] errF = ProcFuncArgs[1] USD_TO_RUB_RATE = float(sys.argv[1]) j = MyStdLib.getJSON(linkOnPage, ["results_html"], errF) if not j: print("-1") return # getting name & price info for each item soup2 = BeautifulSoup(j["results_html"]) prices = soup2.find_all("span", style="color:white") # prices of items names = soup2.find_all("span", class_="market_listing_item_name") # names of items if not prices or not names: errF.write(linkOnPage + ": some item's information is not found\n") print("-2") return if len(prices) != len(names): errF.write(linkOnPage + ": " + str(len(prices)) + " prices and " + str(len(names)) + " names\n") print("-3") return # # getting price and quantity values for each item for i, price in enumerate(prices): t = price.text price = MyStdLib.getTextInTheMiddle(t, "$", " USD") if price is None: price = MyStdLib.getTextAfter(t, "$") if price is None: errF.write(linkOnPage + ": price wasn't retrieved\n") print("-4") print(t) return prices[i] = float(price) * USD_TO_RUB_RATE for i, name in enumerate(names): names[i] = MyStdLib.getTextAfter(name.text, "Sticker | ") try: resF.write("{0}\t{1:6.2f}\n".format(names[i], prices[i])) except: print(names[i], prices[i])