python爬虫音乐犯法么_Python爬虫实战之爬取QQ音乐数据!QQ音乐限制太多了
def open_url(url):
pass
def find_attribute(url):
pass
def main:
pass
复制网页链接
复制网页链接将链接用列表进行保存下来。如果想要同一时间获取多个网页里面的数据,自行书写for循环遍历列表即可。以下只以一个网页进行讲解。
def main:
# 用列表进行存储网页链接
url = "https://y.qq.com/n/yqq/playlist/7174020835.html#stat=y_new.index.playlist.name"
# 将url传到该函数进行获取数据该功能
find_attribute(url) 获取源代码
def open_url(url):
req = urllib.request.Request(url)
# 模拟电脑访问
# 按F12按照图片所示操作即可获取添加
req.add_header("User-Agent","Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36")
# 给网页发送请求。网页就会返回一个响应给我们
response = urllib.request.urlopen(req)
# 获取源代码
html = response.read
# 将源码以utf-8 的形式进行解码
return html.decode("utf-8") 获取数据
使用select定位的方法。有可能存在以下问题:1.定位不准确,会导出网页其他的内容2.找不到内容,原因:定位深度有限。解决方案:父子关系多写几层用>符号进行建立父子关系3.对于类选择题,ID选择器有不同的方法进行搜索。自行上网进行查阅。关键字:beautifulsoup.select方法的使用每一次书写select定位的方法可以使用print进行打印。获取的数据是用列表进行存储的。
def find_attribute(url):
# 此处返回的html就是网页的源代码
# 可以用print(html) 打印观看一下效果
html = open_url(url)
# 利用BeautifulSoup将源代码进行解析
soup = BeautifulSoup(html,"lxml")
# 通过标签进行选择数据即可
# 定位的方法具体如图片所示
#
# 排名
ranks = soup.select("div.songlist__number")
# 歌曲
musics = soup.select("span.songlist__songname_txt > a")
# 歌手
singers = soup.select("div.songlist__artist > a")
# 专辑
albums = soup.select("div.songlist__album > a")
# 时长
times = soup.select("div.songlist__time")
list1 = []
# 连接列表。用循环打印
# 再存放到字典当中
for rank,music,singer,album,time in zip(ranks,musics,singers,albums,times):
data = {
# 获取文本用 get_text
# 获取属性值用['属性']
"排名":rank.get_text,
"歌曲":music["title"],
"歌手":singer["title"],
"专辑":album["title"],
"时长":time.get_text
}
# 追加到列表当中
list1.append(data)
print(list1) 源代码 import urllib.request
from bs4 import BeautifulSoup
def open_url(url):
req = urllib.request.Request(url)
# 模拟电脑访问
req.add_header("User-Agent","Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36")
response = urllib.request.urlopen(req)
html = response.read
# 将源码以utf-8 的形式进行解码
return html.decode("utf-8")
def find_attribute(url):
html = open_url(url)
soup = BeautifulSoup(html,"lxml")
# 通过标签进行选择数据即可
#
# 排名
ranks = soup.select("div.songlist__number")
# 歌曲
musics = soup.select("span.songlist__songname_txt > a")
# 歌手
singers = soup.select("div.songlist__artist > a")
# 专辑
albums = soup.select("div.songlist__album > a")
# 时长
times = soup.select("div.songlist__time")
list1 = []
for rank,music,singer,album,time in zip(ranks,musics,singers,albums,times):
data = {
"排名":rank.get_text,
"歌曲":music["title"],
"歌手":singer["title"],
"专辑":album["title"],
"时长":time.get_text
}
list1.append(data)
print(list1)
def main:
# 第一步:将url传过去利用一定手段返回网页的源码
# 第二步:源码获取了之后
# 第三步:通过标签的父子关系进行定位
# 第四步:将获取的数据,进行一个保存
# 如果有多个url添加for循环修改地址即可
# 这里只演示单个网页
url = "https://y.qq.com/n/yqq/playlist/7174020835.html#stat=y_new.index.playlist.name"
# 为了更加好看。设计模块化罢了
find_attribute(url)
if __name__ == "__main__":
main
python爬虫音乐犯法么_Python爬虫实战之爬取QQ音乐数据!QQ音乐限制太多了相关推荐
- python 获取li的内容_Python开发案例:爬取四川省统计局数据Matplotlib绘图
开发环境 Windows 10 企业版 Pycharm 2019.01 EAP Community Edition Python 3.7 前言 四川省统计局提供了过去若干月份的统计数据.统计局提供的数 ...
- 大datatable 内存一直涨_听说你的爬虫一直在整站里循环绕圈圈爬取重复的数据?...
今天 小帅b要跟你说说增量爬虫 是这样的当你去爬取某个网站的数据时 你会发现这些网站随着时间的推移会更新更多的网页数据 这时候你要爬取的是那些更新的网页数据 而不是又一次爬取整站的内容 对于一些稍微复 ...
- python爬虫音乐犯法么_Python爬虫案例:爬取网易云音乐
前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者:Jonsson 喜欢的朋友欢迎关注小编,除了分享技术文章之外还有很多 ...
- Python爬虫入门(四):实战,爬取4399小游戏首页
目录 robots.txt robots协议 robots.txt 语法 君子协定 何时需要robots协议? 查看4399.com的robots.txt 设定并分析目标 代码 urllib2& ...
- Python爬虫(三)Beautiful Soup 实战,爬取前程无忧网站
Beautiful Soup介绍 Beautiful Soup提供一些简单的.python式的函数用来处理导航.搜索.修改分析树等功能. Beautiful Soup自动将输入文档转换为Unicode ...
- python爬图片代码大全_爬虫入门教程⑩— 用漂亮的图表展示爬取到的数据
经过了前面的努力,我们成功获取到了数据,并且学会了保存,但是只是用网页展示出来,是不是有一些不够美观呢? 所以本节的内容是:数据的可视化.拿到了数据却不能使其简单易懂并且足够突出,那就是不是好的数据工 ...
- python3 scrapy实战:爬取拉勾网招聘数据至数据库(反爬虫)
首先注明:感谢拉勾网提供的权威.质量的数据,本人抱着学习的态度,不愿增加其服务器负担,与dos攻击. 由于后面准备做一个大一点的数据分析项目,所以前提需要获取大量的有质量和权威的信息,其中一个获取点便 ...
- python爬取豆瓣影评_【python爬虫实战】爬取豆瓣影评数据
概述: 爬取豆瓣影评数据步骤: 1.获取网页请求 2.解析获取的网页 3.提速数据 4.保存文件 源代码: # 1.导入需要的库 import urllib.request from bs4 impo ...
- python如何在循环中保存文件_Python中如何将爬取到的数据循环存入到csv文件中?...
求大神指导 再此感激不尽!!! 我想要把输出的结果存入到csv文件中 我的代码如下:(Python 需要3.5版本的) # coding:utf-8 import requests import js ...
- python爬取喜马拉雅_Python爬虫实战案例之爬取喜马拉雅音频数据详解
这篇文章我们来讲一下在网站建设中,Python爬虫实战案例之爬取喜马拉雅音频数据详解.本文对大家进行网站开发设计工作或者学习都有一定帮助,下面让我们进入正文. 前言 喜马拉雅是专业的音频分享平台,汇集 ...
最新文章
- 计算机软件3十2二5,计算机软件基础3.2 操作系统.pdf
- Arp协议和Arp欺骗
- 【MM配置】Pricing 采购定价过程总览
- Team Composition: Programmers and Mathematicians 贪心(800)
- 《Linux高性能服务器编程》学习笔记
- 操作XML 报错:根级别上的数据无效 和 给定编码中的字符无效 解决办法
- unity 坐标系转换_Unity的几种坐标系及相互转换
- java作为kafka生产者实验及Expiring超时问题解决
- 蓝桥杯第八届省赛JAVA真题----字母组串
- php中怎么替换文字,php里面怎么替换文字
- 好好学习 天天编程—C语言之环境搭建(一)
- 计算机视觉(CV)前沿国际国内期刊与会议
- Base64(电子邮件传输算法)
- 指导老师对计算机论文的评语,指导老师对论文的评语
- POE交换机和普通交换机哪里不同?POE交换机和普通交换机哪个好?
- 揭开姓氏的秘密|为什么最古老的八个姓氏都是女字旁?
- PHP开发的一个搞笑段子手生成小程序
- CodeForces 949A Zebras
- 高红梅:第三章 第三节 从探寻自我到生命共同体的身份认同
- 天才程序员法布里·贝拉德