import requests from bs4 import BeautifulSoup def get_q_paper(ccode): files = { 'ccode': (None, ccode), 'submit': (None, ''), } response = requests.post('https://cl.thapar.edu/view1.php', files=files,verify=False) return extract_question_papers(response.text) def extract_question_papers(html_content): soup = BeautifulSoup(html_content, 'html.parser') table = soup.find('table', {'border': '1'}) # Find the table with question papers rows = table.find_all('tr')[2:] # Skip the header rows question_papers = [] for row in rows: columns = row.find_all('td') if len(columns) == 6: # Ensure it's a valid row with 6 columns course_code = columns[0].text.strip() course_name = columns[1].text.strip() year = columns[2].text.strip() semester = columns[3].text.strip() exam_type = columns[4].text.strip() download_link = columns[5].find('a')['href'].strip() question_papers.append({ 'CourseCode': course_code, 'CourseName': course_name, 'Year': year, 'Semester': semester, 'ExamType': exam_type, 'DownloadLink': "https://cl.thapar.edu/" + download_link, }) return question_papers # Example usage if __name__ == "__main__": result = get_q_paper("UCS414") print(result)