版权声明:如有侵权,请联系作者删除该文件! https://blog.csdn.net/Programmer_huangtao/article/details/83181023
#---------------------
import requests
from fake_useragent import UserAgent
from bs4 import BeautifulSoup
import time
#导入相应的库文件
headers ={
'User-Agent': UserAgent().chrome
}
#加入请求头
def get_info(url):
# 定义获取信息的函数
wb_data = requests.get(url,headers=headers)
soup = BeautifulSoup(wb_data.text,'lxml')
ranks = soup.select('span.pc_temp_num')
titles = soup.select('div.pc_temp_songlist.pc_rank_songlist_short > ul > li > a')
times = soup.select('span.pc_temp_tips_r > span')
for rank,title,time in zip(ranks,titles,times):
data = {
'rank': rank.get_text().strip(),
'singer': title.get_text().split('-')[0],
'song': title.get_text().split('-')[-1],
'time': time.get_text().strip()
# 通过split获取歌手和歌曲信息
}
print(data)
#获取爬虫信息并按字典格式打印
if __name__=='__main__':
# 程序主入口
urls = ['http://www.kugou.com/yy/rank/home/{}-6666.html'.format(str(i))
for i in range(1,6)]
#手动查询网页只到5页,所以循环5次
for url in urls:
#循环获得新的url
get_info(url)
# 循环调用get_info函数
time.sleep(2)
#睡眠1秒,防止被封
(1 )
导入程序需要的库,
请求库用于请求| |网页
杂志电子| |网页数据。
BeautifulSoup 用于解析网
页数据。时间库的睡眠()
方法可以让程序暂停。
(2 )
通过Chrome 浏览器的开发者工具,复制User-Agent ,用于伪装为浏览器,便于爬虫的稳定性。
(3 )
定义get_info ()函数,用于获取网页信息并输出信息。
(4 )
为程序的主入口。