第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)+"\n")

f1.close()

你可能感兴趣的:(python,python,网络爬虫)