[Python] 纯文本查看 复制代码import requests,os,time,random,re

from lxml import etree

def ranheader():

user1 = 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36 OPR/26.0.1656.60'

user2 = 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:34.0) Gecko/20100101 Firefox/34.0'

user3 = 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/534.57.2 (KHTML, like Gecko) Version/5.1.7 Safari/534.57.2'

#user4 = 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.64 Safari/537.11'

user4 = 'Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko'

#user6 = 'Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_3_3 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8J2 Safari/6533.18.5'

#user7 = 'Mozilla/5.0 (iPad; U; CPU OS 4_3_3 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8J2 Safari/6533.18.5'

#user8 = 'Mozilla/5.0 (Linux; U; Android 2.3.7; en-us; Nexus One Build/FRF91) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1'

list1 = [user1, user2, user3, user4]

agent = random.choice(list1)

header = {'User-Agent': agent}

return header

def get_urllist(url): #访问网址

req=requests.get(url,headers=ranheader()).content.decode('utf-8')

#html=etree.HTML(req.content.decode('utf-8'))

return req

def mp3_list(req): #用正则找出音乐所在网页列表跟名字列表

html=etree.HTML(req)

addr_list=html.xpath('//li/div/div/a/@href')

mp3_name=html.xpath('//li/div/div/a/@title')

#print(addr_list)

#print(mp3_name)

get_mp3(addr_list,mp3_name)

def get_mp3(addlist,mp3_name): #得到音乐所在的具体地址,并开始写入

for x in range(0,len(addlist)):

addr=short_url+addlist[x]

html_1=get_urllist(addr)

#print (html_1)

mp3_addr=re.compile('m4a: "(.*?)"}]').findall(html_1)

print('正在保存:'+mp3_name[x])

filename=requests.get(mp3_addr[0],headers=ranheader())

time.sleep(0.5)

try:

with open(r"f:/mp3/"+mp3_name[x]+".mp3",'wb') as f:

f.write(filename.content)

time.sleep(1)

except:

print("文件保存失败!")

if __name__ == '__main__':

url1='http://www.djkk.com/dance/sort/chinese_'

short_url='http://www.djkk.com'

starpage=input('请输入要开始的页面:')

endpage=input("请输入要结束的页面:")

for i in range(int(starpage),int(endpage)+1):

url=url1+str(i)+".html"

mp3_list(get_urllist(url))

dj版python_【Python爬虫】笔者想听DJ,结果写了一个DJ嗨嗨网的下载工具。相关推荐

  1. Python 爬虫:喜马拉雅FM音频(这个还能不载,试了一下其它下载工具都不行了)

    现在是 3:35分,花了整晚时间,写了个 喜马拉雅FM音频 爬虫,顺便熟悉了一下 tkinter GUI 效果图: 已打包的工具可以在下面下载: 链接:https://pan.baidu.com/s/ ...

  2. Python爬虫:想听榜单歌曲?使用BeautifulSoup库只需要14行代码即可搞定

    目录 BeautifulSoup库 安装BeautifulSoup库 BeautifulSoup库简介 选择解释器 基础用法 节点选择器 获取节点名称属性内容 获取所有子节点 获取所有子孙节点 父节点 ...

  3. python爬虫什么意思-这样学Python爬虫,想爬什么爬什么

    原标题:这样学Python爬虫,想爬什么爬什么 你知道怎么学爬虫吗?正确的入门姿势在这里!只要学好了Python爬虫,真的是可以想爬什么爬什么哟,像什么美女图片啦,美食图片啦,美景图片啦.(小编可不知 ...

  4. Python爬虫 | 利用python爬虫获取想要搜索的数据

    这篇文章主要介绍了利用Python爬虫采集想要搜索的信息(利用某du的接口实现)并且处理掉它的反爬手段,文中示例代码很详细,具有一定的学习价值,感兴趣的小伙伴快来一起学习吧. ☀️新人小白博主

  5. 网盘下载工具 Mipony Pro v3.0.5 中文便携版

    Mipony 是一款用于批量检测和下载国外常用网盘资源的网盘下载工具,支持中文,非常实用和强大.Mipony 可以让你方便快速从网盘上下载文件,省去烦人的等待和弹窗广告,还能复制多个地址进行批量下载. ...

  6. python基础教程第三版豆瓣-Python爬虫入门教程:豆瓣读书练手爬虫

    点击蓝字"python教程"关注我们哟! 前言 Python现在非常火,语法简单而且功能强大,很多同学都想学Python!所以小的给各位看官们准备了高价值Python学习视频教程及 ...

  7. python爬虫开发环境_python爬虫开发教程下载|Python爬虫开发与项目实战(范传辉 著)pdf 完整版_ - 极光下载站...

    Python爬虫开发与项目实战pdf扫描版下载.Python爬虫开发是一个Pthyon编程语言与HTML基础知识引领读者入门知识,重点讲述了云计算的相关内容及其在爬虫中的应用,进而介绍如何设计自己的爬 ...

  8. python爬虫scrapy安装_零基础写python爬虫之爬虫框架Scrapy安装配置

    前面十章爬虫笔记陆陆续续记录了一些简单的Python爬虫知识, 用来解决简单的贴吧下载,绩点运算自然不在话下. 不过要想批量下载大量的内容,比如知乎的所有的问答,那便显得游刃不有余了点. 于是乎,爬虫 ...

  9. python爬虫代理的使用_从零开始写Python爬虫 --- 2.4 爬虫实践:代理的爬取和验证...

    爬网站的时候,由于各种原因,ip被锁了,这个时候我们就需要通过代理来突破封锁.网上有很多代理网站,付费和免费的都有,这次我们就来写一个scrapy爬虫,爬一些免费的代理下来用. 目标分析: 本次爬取了 ...

  10. Python爬虫(6):比Selenium快100倍的方法爬东方财富网财务报表

    博客原文来自我的博客:https://www.makcyun.top/web_scraping_withpython6.html 摘要: 上一篇文章,我们用Selenium成功爬取了东方财富网的财务报 ...

最新文章

  1. GitHub热榜第一,标星近万:这个用Python做交互式图形的项目火了
  2. 图解web前端开发工具教程
  3. PHP核心技术笔记(2):面向对象的设计原则
  4. if else复合语句
  5. phpmyadmin #1045 - Access denied for user 'root'@'localhost' (using password: NO)
  6. java final 内存泄漏_干货详解:一文教你如何避免内部类中的内存泄漏
  7. Leetcode每日一题:111.minimum-depth-of-binary-tree(二叉树的最小深度)
  8. 多线程—— Lock(线程锁)
  9. 阿里云centos7上yum安装并连接mysql
  10. unity中移动lindrender和transform, 两个点的位置
  11. 入侵排查篇---勒索病毒自救指南
  12. 詹姆斯高斯林_詹姆斯·高斯林(James Gosling)关于Java的立场:我几乎不在乎
  13. Delphi 生成二维码【PaintBox】并保存为本地文件添加至【Image】控件中
  14. 三维主成分图matlab,PCA主成分分析之三维演示(Matlab)
  15. BAT大牛分享如何在最短的时间升职为阿里Java架构师
  16. IDV和VDI,桌面虚拟化对比
  17. mysql 入库乱码,如何解决mysql中文入库乱码问题
  18. 【嵌入式Linux学习笔记】Linux驱动开发
  19. 区块链上的虚拟开放世界游戏是怎样的?| TVP思享
  20. 【Linux】Linux指令串讲

热门文章

  1. BDM的驱动安装(继续~~~)
  2. WIN10 当中装BDM驱动
  3. TI_DSP_SRIO - DirectIO操作-LSU
  4. ssm+jsp计算机毕业设计红色旅游信息项目管理58lsu(程序+lw+源码+远程部署).
  5. Mysql排序的特性详情
  6. 【性能测试】压力测试指标全解之TP指标(50/90/99/999)
  7. item_get - 根据ID获取商品详情
  8. 利用Python itchat给女朋友定时发消息
  9. W25Q80和GD25Q80
  10. 每日总结(2021/12/13)