def scrape_crafting_others(key): url = URLS.get(key) response = (requests.get(url, timeout=5)) soup = BeautifulSoup(response.content, "html.parser") tables = soup("table", {"class": "roundy"}) items = {} for tr in tables[2]("tr")[1:]: name = tr("td")[0].a.text item = { "image_url": tr("a")[1]['href'], "materials": parse_materials(tr("td")[2]), "obtained_from": parse_obtained_from(tr( "td")[4]), # TODO add nook miles .replace(")", "Nook Miles)") "price": parse_price(tr("td")[5].text) } if tr("td")[3].img.get("data-src"): item["size_image_url"] = tr("td")[3].img.get("data-src") elif tr("td")[3].img: item["size_image_url"] = tr("td")[3].img.get("src") # ???? else: item["size_image_url"] = None items[name] = item dump_data(items, "crafting/" + key) return items
def scrape_tools(key): url = URLS.get(key) response = (requests.get(url, timeout=5)) soup = BeautifulSoup(response.content, "html.parser") tables = soup("table", {"class": "sortable"}) items = {} for tr in tables[0]("tr")[1:]: name = tr("td")[0].a.text item = { "image_url": tr("a")[1]['href'], "materials": parse_materials(tr("td")[2]), "size_image_url": tr("td")[3].img.get("data-src"), "obtained_from": parse_obtained_from(tr("td")[4]), "price": parse_price(tr("td")[5].text) } items[name] = item dump_data(items, "crafting/" + key) return items