第5关:爬取单页多个div标签的信息
任务描述
本关任务:改进上一关的代码。爬取湖南大学讲座网页的多个讲座信息,存储在二维列表jzxx中。 湖南大学讲座信息的网址为
相关知识
find_all函数 通过BeautifulSoup的find_all(name,attr)方法,可以找到符合条件的多个标签,将多个标签的内容返回为一个列表 lb=bg.find_all("div",class="xinwen-wen") 找到网页的所有class属性为xinwen-wen的div标签,存入列表lb
列表的操作 对于得到的多个标签的列表,使用for循环,可以依次访问每个标签,使用find函数找出其时间、标题和地点的文本,加入到列表,再加入二维列表jzxx中。
编程要求
根据提示,在右侧编辑器补充代码,爬取湖南大学讲座网页的多个讲座信息,存储在二维列表jzxx中。
开始你的任务吧,祝你成功!
import requests from bs4 import BeautifulSoup url = https://www.hnu.edu.cn/xysh/xshd.htm r = requests.get(url) r.encoding = utf-8 jzxx=[] #代码开始 soup = BeautifulSoup(r.text, "html.parser") lb = soup.find_all("div", class_="xinwen-wen") for i in lb: jzsj = i.find("div", class_= "xinwen-sj-top").text.strip() jzbt = i.find("div", class_= "xinwen-wen-bt").text.strip() jzdd = i.find("div", class_= "xinwen-wen-zy").text.strip() jzxx.append([jzsj,jzbt,jzdd]) #代码结束 f1=open("jzxx2.txt","w") for xx in jzxx: f1.write(",".join(xx)+" ") f1.close()
上一篇:
Java架构师技术进阶路线图
下一篇:
网络安全行业需要工匠精神吗?