🌁

Project Introduction

Introduction

Project #3 – Web Scraping helps users to get information from the OSU dining website. Users can choose to see what restaurants are open on campus on a SPECIFIC DAY (e.x. Mon, Thu, Wed…), together with the addresses and opening hours. Users can also choose to receive an email about the opening hours and addresses of the specific day. In addition, users can also choose the CURRENT TIME (Type NOW) to see what restaurants on campus are open, together with their opening hours, remaining open time, and addresses.

The OSU dining website has always been a pain for many people to look for information. The dining hours page lists all dining locations regardless of their open status. Some locations may not even be open on the day of search. This creates a great deal of workload for the people checking the open status for their favorite locations. Users would need to first get to the page, then scroll down to find the place they are looking for, then manually compare the current day and time to be able to tell whether a location is open or not. Sometimes people want to go through all the open options to decide where they are going. It would be even harder to achieve on the dining website because one has to check every single location open time to see if it is open. Therefore, we are aiming to create a program that can greatly reduce the time for doing such things.

How to Use

In our program, users have the option to check for locations on a given day or locations at current time. The program will first prompt the user to enter a day of the week with the initial three letters. One can enter any day of the week to check open choices on that day or the keyword “now” to see current open choices. Any other input will be considered as checking for current locations. If a weekday is entered, it will produce a file with all the locations open on that day with their open hours and locations. If anything else is entered, the program will produce the file with all locations open at current time, their service hours, remaining time, and locations. It will also remind the user if the remaining open time is less than 60 minutes. After that, users will be prompted to enter their email address and the program will email user the output file. This step is not mandatory. If the keyword “no” is entered, the program will terminate, and the user can check the output file under the same directory.

Advantage and Functionality

Our project retrieved a great deal of data from more than 30 websites, which are all OSU public websites. (This is why the initialization of the project may take about 10 seconds.) It will take a user a long time to check what restaurants are open at present one by one. And it’s almost impossible for a user to get all the addresses and opening hours information within a short time. Our data integration helps the users make choices more efficiently by listing the remaining open hours and addresses, which cannot be easily found or calculated on the dining website. The results and implications can be easily understood by novice. This tool is likely to be adopted by those who are new to OSU or very hungry and want to find a restaurant nearby.

Malicious User Activity

If user enter incorrect info such as invalid email address or undefined command(e.x. '"Monster"instead of "Mon"), the program will handle peacefully either reject or process default command.

Comprehensive Test Cases

Useful test cases are provided at https://unniitec.nicholastec.com/proj3/testcases/