Q1. Scrape Book Catalog
Write a function getData() to scrape title (see (1) in Figure), rating (see (2) in Figure), price (see (3) in Figure) of all books (i.e. 20 books) listed in the page.
For example, the figure shows one book and the corresponding html code. You need to scrape the highlighted content.
For star ratings, you can simply scrape One, Two, Three, …
The highlighted content in the figure should be saved into a tuple (‘A Light in the
The output is a list of 20 tuples, e.g. [(‘A Light in the …’,’Three’,’£51.77′), …]. Each tuple corresponds to one book.
Q2. Plot data
Create a function plot_data which takes the list of tuples from Q1 as an input
converts the price strings to numbers calculates the average price of books by ratings plots a bar chart for the average price. The plot may look similar to the figure below.
# Structure of your solution：
from bs4 import BeautifulSoup
import pandas as pd
import matplotlib.pyplot as plt
data= # variable to hold all book data
# your code here
# fill your code here