开发环境: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相关推荐

  1. python爬取酷狗音乐_Python爬取酷狗音乐

    在常见的几个音乐网站里,酷狗可以说是最好爬取的啦,什么弯都没有,也没加密啥的,所以最适合小白入门爬虫 本篇针对爬虫零基础的小白,所以每一步骤我都截图并详细解释了,其实我自己看着都啰嗦,归根到底就是两个 ...

  2. 酷狗音乐的爬取,基于python,从无到有完整教程-上:搭建环境及爬取原理讲解

    酷狗音乐的爬取,基于python,从无到有完整教程,使用微软新edge作为虚拟浏览器 搭建环境及爬取原理讲解 ⬇⬇⬇ 编码环境及工具准备: 编码工具:PyCharm 所需的库: import requ ...

  3. python爬取酷狗付费音乐_python爬蟲教程:爬取酷狗音樂

    在常見的幾個音樂網站里,酷狗可以說是最好爬取的啦,什么彎都沒有,也沒加密啥的,所以最適合小白入門爬蟲 本篇針對爬蟲零基礎的小白,所以每一步驟我都截圖並詳細解釋了,其實我自己看着都啰嗦,歸根到底就是兩個 ...

  4. 酷狗音乐的爬取,基于python,从无到有完整教程-下:功能代码讲解

    酷狗音乐的爬取,从无到有完整教程-下:功能代码讲解 是的我又回来了,这次是代码的讲解哦. 参数项生成 上一章我们提到,在包含了歌曲url,歌曲信息的请求中,有几个参数项的值是随机数就可以,但是,你仔细 ...

  5. python爬取网易云音乐_Python 从零开始爬虫(七)——实战:网易云音乐评论爬取(附加密算法)...

    前言 某宝评论区已经成功爬取了,jd的也是差不多的方法,说实话也没什么好玩的,我是看上它们分析简单,又没加密才拿来试手的.如果真的要看些有趣的评论的话,我会选择网易云音乐,里面汇聚了哲学家,小说家,s ...

  6. python爬取qq音乐评论_爬虫:QQ音乐评论

    QQ音乐评论 有些小伙伴反馈,对于爬虫的完整流程,还是不清楚,这边就按顺序,给大家梳理一下 反爬 首先查看一下,我们要爬取的网页,是否反爬(各种侵害人家服务器的事情,我们不能干) QQ音乐网址:htt ...

  7. python听歌识曲爬虫_Python爬取网易云音乐热门评论的搜索结果-阿里云开发者社区...

    网易云音乐评论爬虫(三):爬取歌曲的全部评论 用过网易云音乐听歌的朋友都知道,网易云音乐每首歌曲后面都有很多评论,热门歌曲的评论更是接近百万或者是超过百万条.现在我就来分享一下如何爬取网易云音乐歌曲的 ...

  8. 利用Python网络爬虫实现对网易云音乐歌词爬取

    今天小编给大家分享网易云音乐歌词爬取方法. 本文的总体思路如下: 找到正确的URL,获取源码: 利用bs4解析源码,获取歌曲名和歌曲ID: 调用网易云歌曲API,获取歌词: 将歌词写入文件,并存入本地 ...

  9. 基于python的音乐数据分析_Python对QQ音乐进行爬取并进行数据分析

    三方包引入 使用到了以下包: 爬虫 scrapy 网络测试 requests 数据分析 numpy和pandas 绘图 matplotlib和wordcloud pip install scrapy ...

  10. python爬虫----网易云音乐歌曲爬取并存入Excel

    因为数据要存入Excel中,所以首要目标是找个办法将数据能够存入excel中 经过在网上一番搜索后,发现用python里的xlwt模块可以比较容易的解决 一.准备工作 1.安装xlwt模块: 可以看h ...

最新文章

  1. 番外:Spring MVC环境搭建和Mybatis配置避坑篇
  2. 计算机书籍-数据挖掘与预测分析
  3. C#.Net网页加载等待效果漂亮并且简单
  4. 蛋花花谈Web开发到底要不要加入人工智能
  5. 前端学习(689):for循环执行相同代码
  6. C++实现LRU算法(LeetCode 146 LRU缓存机制)
  7. apache java cache-control,Tomcat: Cache-Control
  8. 【已解决】bootstrap table 参数后台获取不到
  9. UITableViewCell delete button 上有其它覆盖层
  10. python模拟网页上传文件_python模拟网页上传文件
  11. Android 用 platform.pk8 和 platform.x509.pem 生成 keystore 系统签名文件
  12. 用VBA自动整理系统导出的订单
  13. 功能强大的全新虚拟商品自动发货商城源码
  14. Atitit 艾提拉整理清明节的诗歌集合 清明节的特征 万物复苏 百草发芽 尝试从股市 其他外国诗歌集 得到清明的诗歌 约谈春天 歌颂春天 下雨 不见方三日、 夜来风雨声,花落知多少。(
  15. Microsoft Office下载链接
  16. 苹果app退款_苹果上最流氓的功能,终于被彻底关掉,还退款208元
  17. 身份证、手机号、邮箱、银行卡、企业税号等正则校验
  18. TexturePacker 自定义模板
  19. cucumber注解
  20. 锐捷交换机系统安装与升级

热门文章

  1. MySQL数据表操作思维导图
  2. 如何卸载 think-cell?丨卸载教程丨卸载办法
  3. 初一上册数学用计算机进行运算,初一上册数学
  4. 磁力泵的结构特点及使用与维修
  5. QTTabBar+Office Tab+Quicker 助力高效使用Windows办公
  6. Win11不能拖拽图片到任务栏软件上快速打开怎么办
  7. 动手实验:使用 jstat 摸清线上系统的JVM运行状况
  8. 上传,修改头像的使用
  9. 计算机教育部一级学科,教育部学科门类,一级学科有多少个?
  10. GPS测速仪,一个APP就可以搞定