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")

# 通过标签进行选择数据即可

# 定位的方法具体如图片所示

#

30

# 排名

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")

# 通过标签进行选择数据即可

#

30

# 排名

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音乐限制太多了相关推荐

  1. python 获取li的内容_Python开发案例:爬取四川省统计局数据Matplotlib绘图

    开发环境 Windows 10 企业版 Pycharm 2019.01 EAP Community Edition Python 3.7 前言 四川省统计局提供了过去若干月份的统计数据.统计局提供的数 ...

  2. 大datatable 内存一直涨_听说你的爬虫一直在整站里循环绕圈圈爬取重复的数据?...

    今天 小帅b要跟你说说增量爬虫 是这样的当你去爬取某个网站的数据时 你会发现这些网站随着时间的推移会更新更多的网页数据 这时候你要爬取的是那些更新的网页数据 而不是又一次爬取整站的内容 对于一些稍微复 ...

  3. python爬虫音乐犯法么_Python爬虫案例:爬取网易云音乐

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者:Jonsson 喜欢的朋友欢迎关注小编,除了分享技术文章之外还有很多 ...

  4. Python爬虫入门(四):实战,爬取4399小游戏首页

    目录 robots.txt robots协议 robots.txt 语法 君子协定 何时需要robots协议? 查看4399.com的robots.txt 设定并分析目标 代码 urllib2& ...

  5. Python爬虫(三)Beautiful Soup 实战,爬取前程无忧网站

    Beautiful Soup介绍 Beautiful Soup提供一些简单的.python式的函数用来处理导航.搜索.修改分析树等功能. Beautiful Soup自动将输入文档转换为Unicode ...

  6. python爬图片代码大全_爬虫入门教程⑩— 用漂亮的图表展示爬取到的数据

    经过了前面的努力,我们成功获取到了数据,并且学会了保存,但是只是用网页展示出来,是不是有一些不够美观呢? 所以本节的内容是:数据的可视化.拿到了数据却不能使其简单易懂并且足够突出,那就是不是好的数据工 ...

  7. python3 scrapy实战:爬取拉勾网招聘数据至数据库(反爬虫)

    首先注明:感谢拉勾网提供的权威.质量的数据,本人抱着学习的态度,不愿增加其服务器负担,与dos攻击. 由于后面准备做一个大一点的数据分析项目,所以前提需要获取大量的有质量和权威的信息,其中一个获取点便 ...

  8. python爬取豆瓣影评_【python爬虫实战】爬取豆瓣影评数据

    概述: 爬取豆瓣影评数据步骤: 1.获取网页请求 2.解析获取的网页 3.提速数据 4.保存文件 源代码: # 1.导入需要的库 import urllib.request from bs4 impo ...

  9. python如何在循环中保存文件_Python中如何将爬取到的数据循环存入到csv文件中?...

    求大神指导 再此感激不尽!!! 我想要把输出的结果存入到csv文件中 我的代码如下:(Python 需要3.5版本的) # coding:utf-8 import requests import js ...

  10. python爬取喜马拉雅_Python爬虫实战案例之爬取喜马拉雅音频数据详解

    这篇文章我们来讲一下在网站建设中,Python爬虫实战案例之爬取喜马拉雅音频数据详解.本文对大家进行网站开发设计工作或者学习都有一定帮助,下面让我们进入正文. 前言 喜马拉雅是专业的音频分享平台,汇集 ...

最新文章

  1. 计算机软件3十2二5,计算机软件基础3.2 操作系统.pdf
  2. Arp协议和Arp欺骗
  3. 【MM配置】Pricing 采购定价过程总览
  4. Team Composition: Programmers and Mathematicians 贪心(800)
  5. 《Linux高性能服务器编程》学习笔记
  6. 操作XML 报错:根级别上的数据无效 和 给定编码中的字符无效 解决办法
  7. unity 坐标系转换_Unity的几种坐标系及相互转换
  8. java作为kafka生产者实验及Expiring超时问题解决
  9. 蓝桥杯第八届省赛JAVA真题----字母组串
  10. php中怎么替换文字,php里面怎么替换文字
  11. 好好学习 天天编程—C语言之环境搭建(一)
  12. 计算机视觉(CV)前沿国际国内期刊与会议
  13. Base64(电子邮件传输算法)
  14. 指导老师对计算机论文的评语,指导老师对论文的评语
  15. POE交换机和普通交换机哪里不同?POE交换机和普通交换机哪个好?
  16. 揭开姓氏的秘密|为什么最古老的八个姓氏都是女字旁?
  17. PHP开发的一个搞笑段子手生成小程序
  18. CodeForces 949A Zebras
  19. 高红梅:第三章 第三节 从探寻自我到生命共同体的身份认同
  20. 天才程序员法布里·贝拉德

热门文章

  1. html textbox控制内容,textbox只能输入数字
  2. 服务器的mdf文件怎么打开,mdf文件用什么打开 mdf文件怎么打开
  3. Linux网络编程|UDP编程实例
  4. 基于鱼群算法的函数寻优
  5. 《The Django Book》笔记(未完结)
  6. 深挖那些隐藏在Linux中的炫酷主题
  7. Sql面试50题 详解 持续更新
  8. JSP和Thymeleaf
  9. QT实现低延迟的RTSP、RTMP播放器
  10. 如何查看局域网络计算机资料,怎么查看局域网内所有电脑的信息