Jump to content

声控党的福利!计算机编程语言爬取【猫耳调频】音频数据,用多线程对比通用爬虫的速度


Recommended Posts

标签:之声标题:世界时间多线程反应声控

前言

今天的"受害者"为【猫耳【调频】,一个音频网站

地址:https://www .埃文小姐。com/sound/m/110

njuxyzwc4tc493.jpg

yxcb3i0gnu0494.jpg

对于本篇文章有疑问的同学可以加【资料白嫖、解答交流群:1039649593】

知识点:

要求

时间

并发期货

开发环境:

版本:anaconda5.2.0(python3.6.5)

编辑器:pycharm

【付费VIP完整版】只要看了就能学会的教程,80集Python基础入门视频教学

导入模块

导入时间

导入请求

进口并行。期货

进口是

通过函数式编程,实现各个功能模块

发送请求

def get_html(url):

response=requests.get(url)

返回响应

第一次解析

极好的解析(响应):

MP3 _ ids=re。全部查找(' a target=' _ player ' href='/sound/(.*?)”标题=.*?response.text)

返回mp3 _ ids

第二次解析

def parse_2(响应):

json_data=response.json()

title=JSON _ data[' info '][' sound '][' sound str ']

声音URL=JSON _ data[' info '][' sound '][' sound URL ']

返回标题,soundurl

保存数据

def保存(标题,mp3_data):

打开时(“mp3\\”标题“. mp3”,模式='wb ')为f:

f.write(mp3_data)

打印(标题,下载完成!)

修改标题

def change_title(标题):

new_title=re.sub(r'[\//|:*]',' _ ',标题)

返回新标题

主函数,调用里面包含的整体连贯

# 1.发送请求

响应=get_html(url)

# 2.解析数据soundid

mp3 _ ids=解析(响应)

对于mp3 _ ids:中的mp3_id

# 3.请求另外详情页地址拼接https://www.missevan.com/sound/getsound?soundid=3922170

MP3 _ URL='https://www.missevan.com/sound/getsound?soundid=' mp3_id

resp_2=get_html(mp3_url)

# 4.解析音频全球资源定位器(统一资源定位符)地址音频标题

title,soundurl=parse_2(resp_2)

# 修改标题

title=change_title(标题)

# 5.请求音频全球资源定位器(统一资源定位符)地址音频二进制数据内容

mp3_data=get_html(soundurl).内容

# 6.下载保存到本地

保存(标题,mp3_data)

翻页

start_time=time.time()

对于范围(1,5):内的页面

打印(f )-正在爬取第{page}页- ')

run(f ' https://www .埃文小姐。com/sound/m?id=110p={page} ')

打印('一共花费了' : ',time.time()-start_time)

jpdt0lixq5a495.jpg

多线程

if __name__=='__main__':

start_time=time.time()

并发。未来。threadpoolexecutor(max _ workers=1000)作为执行者:

对于范围(1,5):内的页面

URL=f ' https://www .埃文小姐。com/sound/m?id=110p={page} '

executor.submit(运行,url)

打印('一共花费了' : ',time.time()-start_time)

速度提升了一分钟左右

cn05ytycz0c496.jpg

原文链接:https://www.icode9.com/content-1-1151412.html

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

极客研究所

geekfooer.png.cea50058ddf1c8276491a8b29ec21205.png

GEEK.AC.CN 极客论坛,推动中国极客文化发展,建设全面网络科技体系,共同学习与成长。

Panel Title #2

痛苦本身可能是很多痛苦,但主要的原因是痛苦,但我给它时间像一些巨大的痛苦和痛苦一样陷入其中。为了让最少的人到来,除了从中获得目标之外,我们还可以进行任何劳动学派。

Home
Search
Existing user? Sign In
×
×
  • Create New...

Important Information

Dear visitors, please read and agree to our website rules before visiting our website!Guidelines