《简单静态网页爬取综合实验》数据采集实验报告

实验1.4 简单静态网页爬取综合实验

一、实验目的

掌握综合运用Requests,Xpath以及Beautiful Soup等第三方库爬取网页信息的方法。

二、实验内容和步骤

(1)网页版酷狗不能手动翻页进行下一步浏览,可以通过观察第一页URL:

http://www.kugou.com/yy/rank/home/1-8888.html 将数字1换成2、3等,每页显示22首歌曲。

(2)可爬取到的信息包括:排名情况,歌手,歌曲名和歌曲时间。

程序代码

import requests

from bs4 import BeautifulSoup

import time                #导入相应的库文件

 

headers = {

    'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36 Edg/114.0.1823.58'

}                          #加入请求头

 

def get_info(url):        #定义获取信息的函数

    wb_data = requests.get(url,headers=headers)

    soup = BeautifulSoup(wb_data.text,'lxml')

    ranks = soup.select('span.pc_temp_num')                    #排名

    singers = soup.select('div.pc_temp_songlist > ul > li > a > span') #歌手

    titles = soup.select('div.pc_temp_songlist > ul > li > a ') #歌名

    times = soup.select('span.pc_temp_tips_r > span')          #时长

    for rank,singer,title,time in zip(ranks,singers,titles,times):

        data = {

            'rank':rank.get_text().strip(),

            'singer':singer.get_text(),

            'title':title.get_text().split('-')[0],      #通过split获取歌手和歌曲信息

            'time':time.get_text().strip()

        }

        print(data)              #获取爬虫信息并按字典格式打印

 

if __name__ == '__main__':      #程序主入口

    urls = ['http://www.kugou.com/yy/rank/home/{}-8888.html'.format(str(i)) for i in range(5) ]            #构造多页url

    for url in urls:

        get_info(url)           #循环调用get_info函数

    time.sleep(1)               #睡眠1

 

实验结果:

三、实验心得

通过这次实验,我学会了如何使用Requests库发送HTTP请求来获取网页的内容。同时,我还学会了使用Xpath和Beautiful Soup这两个第三方库来解析网页内容,提取出我所需要的信息。

在实验过程中,我遇到了一些困难和问题,但通过查阅文档和尝试不同的方法,最终成功解决了这些问题。这次实验对我来说是一次很好的学习机会,让我更加熟悉了Python爬虫的基本操作。

通过这次实验,我也意识到了爬虫在实际应用中的重要性。无论是获取新闻资讯、产品信息还是进行数据分析,爬虫都可以帮助我们快速、准确地获取所需的信息。我相信在将来的工作中,这些技能一定会派上用场。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值