Kasper Bielecki

From the class Code as a Liberal Art · Spring 2022

Rafael Gallery Rug Scraper

Unit 2, Homework 4

RafaelRugs.py

import requests
response = requests.get("http://rafaelgallery.com/thumbnails.aspx?categoryid=2")
from bs4 import BeautifulSoup
soup = BeautifulSoup(response.text, "html.parser")
genthumbtable = soup.find_all(id="cphContent_dlGeneralThumbs")
genthumbtabletr = genthumbtable[0].find_all("tr")

# print(str(genthumbtabletr[3]))
# print()
# print(str(genthumbtabletr[4]))
# print()
# print(str(genthumbtabletr[6]))
# print()
# print(str(genthumbtabletr[7]))
# print()
# print()
# print(str(genthumbtabletr[12]))
# print()
# print(str(genthumbtabletr[13]))
# print()
# print(str(genthumbtabletr[15]))
# print()
# print(str(genthumbtabletr[16]))
i = 3
while i <= len(genthumbtabletr):

    thumbs_red_bold = genthumbtabletr[i].find_all(class_="thumbs_red_bold")
    inventorynum = thumbs_red_bold[0]
    i = i + 1

    thumbs_red_bold = genthumbtabletr[i].find_all(class_="thumbs_red_bold")
    rugtype = thumbs_red_bold[0]
    i = i + 2

    tdtags = genthumbtabletr[i].find_all("td")
    btags = tdtags[0].find_all("b")
    date = btags[0].find_all(string="Date:")

    if len(date) == 0:
        tdtags = genthumbtabletr[i].find_all("td")
        btags = tdtags[1].find_all("b")
        rugsize = btags[0]

        i = i + 1
        tdtags = genthumbtabletr[i].find_all("td")
        rugdesign = tdtags[1]
        i = i + 5

        inventorynum = inventorynum.get_text()
        rugtype = rugtype.get_text()
        rugsize = rugsize.get_text()
        rugdesign = rugdesign.get_text()

        print("Inventory #: " + inventorynum)
        print("Type: " + rugtype)
        print("Size: " + rugsize)
        print("Design: " + rugdesign)
        print()

    else:
        tdtags = genthumbtabletr[i].find_all("td")
        rugdate = tdtags[1]
        i = i + 1

        tdtags = genthumbtabletr[i].find_all("td")
        btags = tdtags[1].find_all("b")
        rugsize = btags[0]
        i = i + 1

        tdtags = genthumbtabletr[i].find_all("td")
        rugdesign = tdtags[1]
        i = i + 5

        inventorynum = inventorynum.get_text()
        rugtype = rugtype.get_text()
        rugsize = rugsize.get_text()
        rugdesign = rugdesign.get_text()
        rugdate = rugdate.get_text()

        print("Inventory #: " + inventorynum)
        print("Type: " + rugtype)
        print("Size: " + rugsize)
        print("Design: " + rugdesign)
        print("Date: " + rugdate)
        print()