In [1]:
import pandas as pd
In [2]:
l = pd.read_html('http://www.buffalo.edu/class-schedule?switch=showcourses&semester=fall&division=UGRD&dept=ASL')
In [3]:
type(l)
Out[3]:
list
In [4]:
len(l)
Out[4]:
6
In [6]:
for item in l:
    print(type(item))
<class 'pandas.core.frame.DataFrame'>
<class 'pandas.core.frame.DataFrame'>
<class 'pandas.core.frame.DataFrame'>
<class 'pandas.core.frame.DataFrame'>
<class 'pandas.core.frame.DataFrame'>
<class 'pandas.core.frame.DataFrame'>
In [7]:
for item in l:
    display(item)
0
0 UB Undergraduate Academic Schedule: Fall 2019
0
0 Helpful Links: Registering for Classes | MyUB...
0 1 2 3 4 5 6 7
0 Helpful Links: Registering for Classes | MyUB | Undergraduate Catalog | Graduate Class Schedule
0
0 Menu: Department List | Search | Catalog Cours...
0 1 2 3 4 5 6 7 8 9 ... 11 12 13 14 15 16 17 18 19 20
0 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
1 Courses for 'American Sign Language' Courses for 'American Sign Language' Courses for 'American Sign Language' Courses for 'American Sign Language' Courses for 'American Sign Language' Courses for 'American Sign Language' Courses for 'American Sign Language' Courses for 'American Sign Language' Courses for 'American Sign Language' Courses for 'American Sign Language' ... Courses for 'American Sign Language' Courses for 'American Sign Language' Courses for 'American Sign Language' Courses for 'American Sign Language' Courses for 'American Sign Language' Courses for 'American Sign Language' Courses for 'American Sign Language' Courses for 'American Sign Language' Courses for 'American Sign Language' Courses for 'American Sign Language'
2 12 Courses 12 Courses 12 Courses 12 Courses 12 Courses 12 Courses 12 Courses 12 Courses 12 Courses 12 Courses ... 12 Courses 12 Courses 12 Courses 12 Courses 12 Courses 12 Courses 12 Courses 12 Courses 12 Courses 12 Courses
3 Class Course Title Section Type Days Time Room Location Instructor (*) additional instructors ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
4 18039 ASL 101LEC 1st-Year/1st Sem Asl A LEC T R 8:30 AM - 10:35 AM Park 148 North Campus Byrne, A ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
5 18040 ASL 101LEC 1st-Year/1st Sem Asl B LEC T R 11:00 AM - 1:05 PM Park 250 North Campus Byrne, A ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
6 18041 ASL 101LEC 1st-Year/1st Sem Asl C LEC M W F 9:30 AM - 10:55 AM Park 152 North Campus Williams, J D ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
7 18042 ASL 101LEC 1st-Year/1st Sem Asl D LEC M W F 11:00 AM - 12:25 PM Park 148 North Campus Williams, J D ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
8 18043 ASL 101LEC 1st-Year/1st Sem Asl E LEC M W F 1:30 PM - 2:55 PM Park 152 North Campus Williams, J D ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
9 18629 ASL 101LEC 1st-Year/1st Sem Asl F LEC M W F 3:00 PM - 4:25 PM Park 148 North Campus Williams, J D ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
10 18044 ASL 101LEC 1st-Year/1st Sem Asl G LEC M W F 10:30 AM - 11:55 AM Park 143 North Campus Graybill, D M ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
11 23845 ASL 101LEC 1st-Year/1st Sem Asl H LEC M W 4:00 PM - 6:05 PM Park 152 North Campus Maloney, J C ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
12 23846 ASL 101LEC 1st-Year/1st Sem Asl I LEC T R 4:00 PM - 6:05 PM Park 152 North Campus Maloney, J C ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
13 18796 ASL 203LEC 2nd Year/1st Sem Asl A LEC M W F 2:00 PM - 2:50 PM Park 148 North Campus Brightman, M S ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
14 24593 ASL 203LEC 2nd Year/1st Sem Asl B LEC T R 2:00 PM - 3:20 PM Park 143 North Campus Byrne, A ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
15 22131 ASL 211LEC Deaf Culture In Am A LEC T R 1:30 PM - 2:50 PM Park 250 North Campus Brightman, M S ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN

16 rows × 21 columns

0
0 Office of the Registrar
1 Questions/comments: UBRegistrar@buffalo.edu.
In [8]:
df = l[4]
df
Out[8]:
0 1 2 3 4 5 6 7 8 9 ... 11 12 13 14 15 16 17 18 19 20
0 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
1 Courses for 'American Sign Language' Courses for 'American Sign Language' Courses for 'American Sign Language' Courses for 'American Sign Language' Courses for 'American Sign Language' Courses for 'American Sign Language' Courses for 'American Sign Language' Courses for 'American Sign Language' Courses for 'American Sign Language' Courses for 'American Sign Language' ... Courses for 'American Sign Language' Courses for 'American Sign Language' Courses for 'American Sign Language' Courses for 'American Sign Language' Courses for 'American Sign Language' Courses for 'American Sign Language' Courses for 'American Sign Language' Courses for 'American Sign Language' Courses for 'American Sign Language' Courses for 'American Sign Language'
2 12 Courses 12 Courses 12 Courses 12 Courses 12 Courses 12 Courses 12 Courses 12 Courses 12 Courses 12 Courses ... 12 Courses 12 Courses 12 Courses 12 Courses 12 Courses 12 Courses 12 Courses 12 Courses 12 Courses 12 Courses
3 Class Course Title Section Type Days Time Room Location Instructor (*) additional instructors ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
4 18039 ASL 101LEC 1st-Year/1st Sem Asl A LEC T R 8:30 AM - 10:35 AM Park 148 North Campus Byrne, A ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
5 18040 ASL 101LEC 1st-Year/1st Sem Asl B LEC T R 11:00 AM - 1:05 PM Park 250 North Campus Byrne, A ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
6 18041 ASL 101LEC 1st-Year/1st Sem Asl C LEC M W F 9:30 AM - 10:55 AM Park 152 North Campus Williams, J D ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
7 18042 ASL 101LEC 1st-Year/1st Sem Asl D LEC M W F 11:00 AM - 12:25 PM Park 148 North Campus Williams, J D ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
8 18043 ASL 101LEC 1st-Year/1st Sem Asl E LEC M W F 1:30 PM - 2:55 PM Park 152 North Campus Williams, J D ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
9 18629 ASL 101LEC 1st-Year/1st Sem Asl F LEC M W F 3:00 PM - 4:25 PM Park 148 North Campus Williams, J D ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
10 18044 ASL 101LEC 1st-Year/1st Sem Asl G LEC M W F 10:30 AM - 11:55 AM Park 143 North Campus Graybill, D M ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
11 23845 ASL 101LEC 1st-Year/1st Sem Asl H LEC M W 4:00 PM - 6:05 PM Park 152 North Campus Maloney, J C ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
12 23846 ASL 101LEC 1st-Year/1st Sem Asl I LEC T R 4:00 PM - 6:05 PM Park 152 North Campus Maloney, J C ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
13 18796 ASL 203LEC 2nd Year/1st Sem Asl A LEC M W F 2:00 PM - 2:50 PM Park 148 North Campus Brightman, M S ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
14 24593 ASL 203LEC 2nd Year/1st Sem Asl B LEC T R 2:00 PM - 3:20 PM Park 143 North Campus Byrne, A ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
15 22131 ASL 211LEC Deaf Culture In Am A LEC T R 1:30 PM - 2:50 PM Park 250 North Campus Brightman, M S ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN

16 rows × 21 columns

In [10]:
l = pd.read_html('http://www.buffalo.edu/class-schedule?switch=showcourses&semester=fall&division=UGRD&dept=AAS')
df = l[4]
df
Out[10]:
0 1 2 3 4 5 6 7 8 9 ... 11 12 13 14 15 16 17 18 19 20
0 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
1 Courses for 'African-American Studies' Courses for 'African-American Studies' Courses for 'African-American Studies' Courses for 'African-American Studies' Courses for 'African-American Studies' Courses for 'African-American Studies' Courses for 'African-American Studies' Courses for 'African-American Studies' Courses for 'African-American Studies' Courses for 'African-American Studies' ... Courses for 'African-American Studies' Courses for 'African-American Studies' Courses for 'African-American Studies' Courses for 'African-American Studies' Courses for 'African-American Studies' Courses for 'African-American Studies' Courses for 'African-American Studies' Courses for 'African-American Studies' Courses for 'African-American Studies' Courses for 'African-American Studies'
2 25 Courses 25 Courses 25 Courses 25 Courses 25 Courses 25 Courses 25 Courses 25 Courses 25 Courses 25 Courses ... 25 Courses 25 Courses 25 Courses 25 Courses 25 Courses 25 Courses 25 Courses 25 Courses 25 Courses 25 Courses
3 Class Course Title Section Type Days Time Room Location Instructor (*) additional instructors ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
4 15892 AAS 100LEC Intro African Amer Stds A LEC M W F 1:00 PM - 1:50 PM Clemen 106 North Campus Ogunbowale, M ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
5 19389 AAS 117SEM Hip Hop And Social Issues A SEM M W F 10:00 AM - 10:50 AM Baldy 101 North Campus Ogunbowale, M ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
6 19893 AAS 199SEM Ub Seminar-Players And Playerz: Tragedy, FOS SEM T R 10:00 AM - 11:20 AM Capen 305 North Campus Foster, C A ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
7 20140 AAS 199SEM Ub Seminar-The American Image:Art, Media NEZ1 SEM M W F 11:00 AM - 11:50 AM Alumni 90 North Campus Zarragoitia, N E ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
8 20141 AAS 199SEM Ub Seminar-The African American Artist NEZ2 SEM M W F 9:00 AM - 9:50 AM Alumni 88 North Campus Zarragoitia, N E ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
9 20854 AAS 199SEM Ub Seminar-African Amer & The City WIL SEM R 1:00 PM - 3:40 PM Clemen 1004 North Campus Williams, L S ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
10 24479 AAS 253LEC Blacks In Films LUL LEC W 5:00 PM - 7:40 PM Obrian 112 North Campus * Lulat, Y G ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
11 17860 AAS 261LEC African American History JPO LEC M W F 2:00 PM - 2:50 PM Park 146 North Campus Ponzo, J E ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
12 24064 AAS 264SEM Black Child In America DPT SEM TBA TBA Online Virtual Pierce-Tate, D D ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
13 22300 AAS 270LEC Maj Issues Carib Studies B LEC TBA TBA Online Virtual Coleman, T A ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
14 18603 AAS 280LEC Survey Of African Studies A LEC M W F 11:00 AM - 11:50 AM Talbrt 106 North Campus Fadugba, A ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
15 19877 AAS 293SEM Race, Law & Society LUL SEM M W 1:00 PM - 2:20 PM Baldy 108 North Campus Lulat, Y G ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
16 24084 AAS 314SEM Black Philosophy FOS SEM T R 12:30 PM - 1:50 PM Baldy 115 North Campus Foster, C A ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
17 17571 AAS 320SEM Research Methods A SEM T 3:20 PM - 6:00 PM Clemen 1004 North Campus Griffler, K P ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
18 24080 AAS 425SEM Liberation Struggles KGR SEM T R 11:00 AM - 12:20 PM Clemen 1004 North Campus Griffler, K P ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
19 24078 AAS 460SEM Black Women In Us History WIL SEM T 12:30 PM - 3:10 PM Clemen 1004 North Campus Williams, L S ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
20 21786 AAS 496TUT Community Internship KG TUT TBA 12:00 PM - 12:00 PM ARR Arranged Griffler, K P ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
21 17416 AAS 499TUT Independent Study A TUT TBA TBA ARR North Campus Staff ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
22 16418 AAS 499TUT Independent Study B TUT TBA TBA ARR North Campus Staff ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
23 Class Course Title Section Type Days Time Room Location Instructor (*) additional instructors ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
24 15284 AAS 499TUT Independent Study C TUT TBA TBA ARR North Campus Staff ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
25 17646 AAS 499TUT Independent Study D TUT TBA TBA ARR North Campus Staff ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
26 15552 AAS 499TUT Independent Study KG TUT TBA TBA ARR North Campus Griffler, K P ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
27 15253 AAS 499TUT Independent Study LUL TUT TBA TBA ARR North Campus Lulat, Y G ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
28 16630 AAS 499TUT Independent Study P TUT TBA TBA ARR North Campus Staff ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
29 14819 AAS 499TUT Independent Study WIL TUT TBA TBA ARR North Campus Williams, L S ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN

30 rows × 21 columns

In [11]:
import requests
url = 'http://www.buffalo.edu/class-schedule?switch=showcourses&semester=fall&division=UGRD&dept=ASL'
s = requests.get(url).text
In [12]:
import bs4
In [13]:
b = bs4.BeautifulSoup(s,'lxml')
type(b)
Out[13]:
bs4.BeautifulSoup
In [14]:
for item in b:
    print(item.name)
None
html
None
In [15]:
for item in b.html:
    print(item.name)
None
head
None
body
None
In [18]:
for item in b.html.body:
    if item.name: # skip over null elements
        print(item.name)
a
table
br
font
table
div
table
table
p
table
In [20]:
count = 0
wanted = 3
for item in b.html.body:
    if item.name=='table': # skip over non-table elements
        count += 1
        if count==wanted:
            print(item.name)
table
In [26]:
tables =  b.find_all('table') 
mytable = tables[5]
In [35]:
for row in mytable:
    if row.name: 
        tds = row.find_all('td')
        if len(tds)==11:
            print(tds[7].text.strip())
            try:
                print(row['onclick'])
            except:
                pass
            
Room
Park 148
window.location='http://www.buffalo.edu/class-schedule?switch=showclass&semester=fall&division=UGRD&dept=ASL&regnum=18039';
Park 250
window.location='http://www.buffalo.edu/class-schedule?switch=showclass&semester=fall&division=UGRD&dept=ASL&regnum=18040';
Park 152
window.location='http://www.buffalo.edu/class-schedule?switch=showclass&semester=fall&division=UGRD&dept=ASL&regnum=18041';
Park 148
window.location='http://www.buffalo.edu/class-schedule?switch=showclass&semester=fall&division=UGRD&dept=ASL&regnum=18042';
Park 152
window.location='http://www.buffalo.edu/class-schedule?switch=showclass&semester=fall&division=UGRD&dept=ASL&regnum=18043';
Park 148
window.location='http://www.buffalo.edu/class-schedule?switch=showclass&semester=fall&division=UGRD&dept=ASL&regnum=18629';
Park 143
window.location='http://www.buffalo.edu/class-schedule?switch=showclass&semester=fall&division=UGRD&dept=ASL&regnum=18044';
Park 152
window.location='http://www.buffalo.edu/class-schedule?switch=showclass&semester=fall&division=UGRD&dept=ASL&regnum=23845';
Park 152
window.location='http://www.buffalo.edu/class-schedule?switch=showclass&semester=fall&division=UGRD&dept=ASL&regnum=23846';
Park 148
window.location='http://www.buffalo.edu/class-schedule?switch=showclass&semester=fall&division=UGRD&dept=ASL&regnum=18796';
Park 143
window.location='http://www.buffalo.edu/class-schedule?switch=showclass&semester=fall&division=UGRD&dept=ASL&regnum=24593';
Park 250
window.location='http://www.buffalo.edu/class-schedule?switch=showclass&semester=fall&division=UGRD&dept=ASL&regnum=22131';

Please complete this exercise: we want a list(?) of objects that contain the room, meeting days, meeting times, and link to seating info, for all classes.

In [ ]: