XJTU全校课表的爬虫demo
由于原始代码中使用了requests
库,这里我们使用相同的库来提取学校课表信息。
import requests
from bs4 import BeautifulSoup
def get_class_table(url):
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'}
r = requests.get(url, headers=headers)
soup = BeautifulSoup(r.text, 'lxml')
class_table = soup.find('table', {'class': 'datelist'})
return class_table
def parse_class_table(class_table):
items = []
for row in class_table.find_all('tr')[1:]:
item = {
'date': row.find_all('td')[0].text.strip(),
'content': row.find_all('td')[1].text.strip()
}
items.append(item)
return items
def main():
url = 'http://jwc.xjtu.edu.cn/info/1008/24527.htm'
class_table = get_class_table(url)
items = parse_class_table(class_table)
for item in items:
print(f"日期: {item['date']}, 内容: {item['content']}")
if __name__ == '__main__':
main()
这段代码首先定义了一个函数get_class_table
来发送请求并获取课表页面的HTML内容。然后定义了一个函数parse_class_table
来解析这些内容并提取出我们需要的日期和内容信息。最后在main
函数中通过调用这两个函数来获取和展示XJTU官网公布的课表信息。
评论已关闭