python爬取酷狗音乐top500_爬取酷狗音乐Top500
开发环境:windows环境+python3+requests库(请求)+BeautifulSoup库(解析)
目标:爬取酷狗音乐Top500并保存到txt中
整个案例源代码:
#导入程序需要的库,requests库用于请求获取网页,BeautifulSoup库用于解析网页数据,time库、random库用于随机延时
import requests
from bs4 import BeautifulSoup
import time
import random
from multiprocessing import Pool
#请求头,伪装浏览器,加强爬虫的稳定性
headers = {
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36'
}
#创建一个列表用于接收数据
data_lists = []
#定义爬取数据的函数
def get_info(url):
global time
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 > ul > li > a')
times = soup.select('div.pc_temp_songlist > ul > li > span.pc_temp_tips_r > span')
for rank,title,time in zip(ranks,titles,times):
data = {
'rank':rank.get_text().strip(),
'signer':title.get_text().strip().split('-')[0],
'song':title.get_text().strip().split('-')[-1],
'time':time.get_text().strip()
}
print(data)
data_lists.append(data)
if __name__ == '__main__':
urls = ['http://www.kugou.com/yy/rank/home/{}-8888.html'.format(str(i)) for i in range(1,3)]
start_time1 = time.time()
for url in urls:
get_info(url)
time.sleep(random.randint(1, 5))
end_time1 = time.time()
print("单个进程爬取酷狗音乐Top500用的时间:",end_time1 - start_time1)
#将数据写入txt文档
for data_list in data_lists:
f = open('D:\Pycharm_Projects\spiders\kugou500.text','a+')
try:
f.write(data_list['rank']+'\n')
f.write(data_list['signer'] + '\n')
f.write(data_list['song'] + '\n')
f.write(data_list['time'] + '\n')
f.close()
except UnicodeEncodeError:
pass
1、requests库的用法
import requests
res = requests,get('url')
print(res) #若为则正常,若状态吗为404 或者400则表示请求失败
print(res.text)#打印请求的网页源码信息
此外,requests库还有get()方法,和post()等方法。对于异常处理主要有ConnectionError、Response.raise_for_status()、Timeout、TooManyRedirects等,详情参看requets库的官方文档:http://docs.python-requests.org/zh_CN/latest/
2.BeautifulSoup库的简单用法
BeautifulSoup库可以轻松的解析requests库请求得到的网页,并把网页源代码解析为Soup文档。BeautifulSoup解析得到的Soup文档与requests库请求得到的网页源码相比,Soup文档是按标准缩进格式输出。
from bs4 import BeautifulSoup
soup = BeautifulSoup(res.text,'lxml')
#查找想要的元素,一般主要用find_all()方法和selector()方法·
soup.find_all(tag,attributes)
titles = soup.select('div.pc_temp_songlist > ul > li > a')
其他更多用法,参看BeautifulSoup文档:https://www.crummy.com/software/BeautifulSoup/bs4/doc/index.zh.html
3、python中文件对象的读取操作
一般主要通过f.write()和f.read()方法(这里假设文件的名为f)。
写入内容:
f = open('xxxx路径/xx.txt',‘w+’)
f.write('hello world')
读出内容:
f = open('xxxx路径/xx.txt',‘w+’)
content = f.read()
print(content)
最后,通常文件读写操作完成之后,需要关闭文件,采用f.close()方法。这样可以保证Python进行缓冲的清理(处于效率的考虑而把数据临时存储在内存中)和文件的安全性。
python爬取酷狗音乐top500_爬取酷狗音乐Top500相关推荐
- python爬取酷狗音乐_Python爬取酷狗音乐
在常见的几个音乐网站里,酷狗可以说是最好爬取的啦,什么弯都没有,也没加密啥的,所以最适合小白入门爬虫 本篇针对爬虫零基础的小白,所以每一步骤我都截图并详细解释了,其实我自己看着都啰嗦,归根到底就是两个 ...
- 酷狗音乐的爬取,基于python,从无到有完整教程-上:搭建环境及爬取原理讲解
酷狗音乐的爬取,基于python,从无到有完整教程,使用微软新edge作为虚拟浏览器 搭建环境及爬取原理讲解 ⬇⬇⬇ 编码环境及工具准备: 编码工具:PyCharm 所需的库: import requ ...
- python爬取酷狗付费音乐_python爬蟲教程:爬取酷狗音樂
在常見的幾個音樂網站里,酷狗可以說是最好爬取的啦,什么彎都沒有,也沒加密啥的,所以最適合小白入門爬蟲 本篇針對爬蟲零基礎的小白,所以每一步驟我都截圖並詳細解釋了,其實我自己看着都啰嗦,歸根到底就是兩個 ...
- 酷狗音乐的爬取,基于python,从无到有完整教程-下:功能代码讲解
酷狗音乐的爬取,从无到有完整教程-下:功能代码讲解 是的我又回来了,这次是代码的讲解哦. 参数项生成 上一章我们提到,在包含了歌曲url,歌曲信息的请求中,有几个参数项的值是随机数就可以,但是,你仔细 ...
- python爬取网易云音乐_Python 从零开始爬虫(七)——实战:网易云音乐评论爬取(附加密算法)...
前言 某宝评论区已经成功爬取了,jd的也是差不多的方法,说实话也没什么好玩的,我是看上它们分析简单,又没加密才拿来试手的.如果真的要看些有趣的评论的话,我会选择网易云音乐,里面汇聚了哲学家,小说家,s ...
- python爬取qq音乐评论_爬虫:QQ音乐评论
QQ音乐评论 有些小伙伴反馈,对于爬虫的完整流程,还是不清楚,这边就按顺序,给大家梳理一下 反爬 首先查看一下,我们要爬取的网页,是否反爬(各种侵害人家服务器的事情,我们不能干) QQ音乐网址:htt ...
- python听歌识曲爬虫_Python爬取网易云音乐热门评论的搜索结果-阿里云开发者社区...
网易云音乐评论爬虫(三):爬取歌曲的全部评论 用过网易云音乐听歌的朋友都知道,网易云音乐每首歌曲后面都有很多评论,热门歌曲的评论更是接近百万或者是超过百万条.现在我就来分享一下如何爬取网易云音乐歌曲的 ...
- 利用Python网络爬虫实现对网易云音乐歌词爬取
今天小编给大家分享网易云音乐歌词爬取方法. 本文的总体思路如下: 找到正确的URL,获取源码: 利用bs4解析源码,获取歌曲名和歌曲ID: 调用网易云歌曲API,获取歌词: 将歌词写入文件,并存入本地 ...
- 基于python的音乐数据分析_Python对QQ音乐进行爬取并进行数据分析
三方包引入 使用到了以下包: 爬虫 scrapy 网络测试 requests 数据分析 numpy和pandas 绘图 matplotlib和wordcloud pip install scrapy ...
- python爬虫----网易云音乐歌曲爬取并存入Excel
因为数据要存入Excel中,所以首要目标是找个办法将数据能够存入excel中 经过在网上一番搜索后,发现用python里的xlwt模块可以比较容易的解决 一.准备工作 1.安装xlwt模块: 可以看h ...
最新文章
- 番外:Spring MVC环境搭建和Mybatis配置避坑篇
- 计算机书籍-数据挖掘与预测分析
- C#.Net网页加载等待效果漂亮并且简单
- 蛋花花谈Web开发到底要不要加入人工智能
- 前端学习(689):for循环执行相同代码
- C++实现LRU算法(LeetCode 146 LRU缓存机制)
- apache java cache-control,Tomcat: Cache-Control
- 【已解决】bootstrap table 参数后台获取不到
- UITableViewCell delete button 上有其它覆盖层
- python模拟网页上传文件_python模拟网页上传文件
- Android 用 platform.pk8 和 platform.x509.pem 生成 keystore 系统签名文件
- 用VBA自动整理系统导出的订单
- 功能强大的全新虚拟商品自动发货商城源码
- Atitit 艾提拉整理清明节的诗歌集合 清明节的特征 万物复苏 百草发芽 尝试从股市 其他外国诗歌集 得到清明的诗歌 约谈春天 歌颂春天 下雨 不见方三日、 夜来风雨声,花落知多少。(
- Microsoft Office下载链接
- 苹果app退款_苹果上最流氓的功能,终于被彻底关掉,还退款208元
- 身份证、手机号、邮箱、银行卡、企业税号等正则校验
- TexturePacker 自定义模板
- cucumber注解
- 锐捷交换机系统安装与升级