Python爬取QQ音乐内地专辑

本文介绍如何使用Python进行QQ音乐内地专辑的爬取,涉及Chrome网页分析、网络请求、请求头伪造及数据库存储等内容。通过分析网页结构找到关键URL,利用Pycharm和Anaconda中的库实现数据抓取。尽管遇到eval转换字典的语法错误,但最终成功完成部分数据爬取。未涉及歌曲下载地址,期待进一步完善。
摘要由CSDN通过智能技术生成

好久没写博客,中间玩了两天基于python的web开发,然继续学爬虫了,花三天做了一个小练习,爬取qq音乐所有的内地专辑内容

用到的工具:ChromePycharm社区版Anaconda

Pycharm建立py文件后,引入anaconda的库,具体怎么引入,在这篇博文我有细说:爬取应用宝首页、应用分类、应用以及应用详情

我这次有写将数据存入数据库的操作,但是因为只是写着练手,我也没爬完,所以使用数据库的细节我就不说了,大家想了解的话可以在网上搜一下教程,我用的数据库是postgresql,操作工具是DBeaver

先做网页分析,其实我开始大部分时间是在找url…
用Chrome打开QQ音乐的网页,单击鼠标右键选择:检查
(Ctrl + Shift + C 也能打开)
选择Network,因为QQ音乐的网站是异步加载的,再选择JS,重新加载网页,我们可以看到这些
这里写图片描述

然后点击Preview,一个个看下去,发现了它!
这里写图片描述
里面有我们在网页上看到的一些选项,说明我们要找的这个界面的url就是它了

点击Header
这里写图片描述
https://u.y.qq.com/cgi-bin/musicu.fcg,这就是我们要的

我们还需要用这里面的Request Headers里的数据伪造一下请求头,并将Query String Parameter里的数据加入params参数中

如图
这里写图片描述
header中一定要有referer参数!!!不然服务器会给你返回空值!!!

后面的专辑,歌曲那些url我们也可以按照这个方法一一找到。

这里提一下最后的src的找法,如图

复制我标记的URL,跳转
这里写图片描述
被标记的部分就是我找到的src
要从字典中找出这个values,我们弄到它的key,其实这个key用的就是每首歌的id
这里写图片描述
所以我们收集到歌曲数据那一步的时候,记得一定要采集歌曲id,到最后一步可以用来取每首歌的src

我觉得这种网站就是分析网站费时间,分析好了代码就好写了、

下面就给你们见识一下我写的BUG!!!

import requests
import time
from sqlalchemy import create_engine,MetaData#引入数据库引擎create_engine以及引入MetaData来创建表格
from sqlalchemy.orm import sessionmaker#引入sessionmaker(用来创建数据工厂)
from sqlalchemy import Table,Column,Text,String,DateTime#引入我们需要用到的属性
from sqlalchemy.sql import insert#引入插入语句



#创建一个数据库引擎,调用create_engin方法,连接postgresql数据库,用户名为postgres,密码为123456,储存地址为本地存储,端口为5432数据库名为postgres
engine = create_engine('postgresql://post
  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值