python爬取豫剧音乐下载链接

IT Xiao Ang Zai 8月19号

版本:python3.64

编程软件:pycharm

 

接下来要学习网络爬虫了,那里面的东西是非常神奇的,平时我也有一些小爱好,比如听戏,谈到听戏的话,不如就先给大家展示一下一个简单的爬取豫剧的代码:

先运行如下代码:

​
import urllib.request
import re
from bs4 import BeautifulSoup

def main():
    url = "http://www.xiquwenhua.net/yuju/"
    response = urllib.request.urlopen(url)
    html = response.read()
    soup = BeautifulSoup(html,"html.parser")

    for each in soup.find_all(href=re.compile("/xiqudaquan/yuju/xiazai")):
        print(each)

if __name__ == "__main__":
    main()

​

 

这时候我们会发现,根据网页源码,会爬取下来如下信息:

接下来我们要进入第二链接,该怎样做呢。由于这里只是简单介绍,故我们由之前的基础知识来改代码。可以先把这些作为字符串写入文件再切片得到所需内容。加入如下语句:

for each in soup.find_all(href=re.compile("/xiqudaquan/yuju/xiazai")):
    print(each)
    with open("E:\\my.text","a+") as f:
        f.write(str(each)[9:42])
        f.write("\n")

效果如下:

我们显然需要去重,这时候就需要另写一个文件了,方法略过,最后得到文件如下:

再对比网页即可得到第二链接地址

 

然后我们由如下代码得到最终的下载链接:

a = [5810,6268,5832,6278,6277,6271,6274,6273,6272,6270,6269,6267]
    for i in range(len(a)):
        url2 = "http://www.xiquwenhua.net/xiqudaquan/yuju/xiazai/%d.html" % a[i]
        response2 = urllib.request.urlopen(url2)
        html2 = response2.read()
        soup2 = BeautifulSoup(html2,"html.parser")

        for each2 in soup2.find_all(href=re.compile("pan.baidu.com")):
            print(each2)

 

效果如下:

爬取百度链接的加密密码这里就不讲解了,方法类似。

 

 

 

如果你要爬取的是免费的音乐资源,可以使用Python的爬虫库来实现。一般情况下,爬取音乐资源的流程如下: 1. 分析音乐资源的网站结构,找到音乐资源的URL。 2. 使用Python的requests库向服务器发送请求,获取音乐资源的HTML数据。 3. 使用正则表达式或BeautifulSoup库等工具,解析音乐资源的HTML数据,提取音乐资源的下载链接。 4. 使用Python的requests库再次向服务器发送请求,下载音乐资源并保存到本地。 以下是一个简单的示例代码,以爬取下载某个网站上的免费音乐为例: ```python import requests import re # 1. 分析音乐资源的网站结构,找到音乐资源的URL url = 'http://example.com/music' # 2. 使用Python的requests库向服务器发送请求,获取音乐资源的HTML数据 response = requests.get(url) # 3. 使用正则表达式或BeautifulSoup库等工具,解析音乐资源的HTML数据,提取音乐资源的下载链接 download_links = re.findall(r'<a href="(.*\.mp3)">', response.text) # 4. 使用Python的requests库再次向服务器发送请求,下载音乐资源并保存到本地 for link in download_links: filename = link.split('/')[-1] with open(filename, 'wb') as file: file.write(requests.get(link).content) ``` 需要注意的是,如果要爬取音乐资源需要付费或需要登录才能下载,就需要使用相应的技术手段进行处理。同时,爬取音乐资源也需要遵守相关法律法规和道德规范,不得侵犯他人的合法权益。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SAP顾问小昂

你的创作将会激励我,谢谢

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值