别人有的,咱们也要有
html
看到一些诗意的推文总能自带一些音乐,可是我又不喜欢微信公众号自带的QQ音乐,因此今天来下载一次mp3格式音乐~前端
一直在想如何将一我的熟悉或不熟悉的知识通俗易懂的描绘笔下,因此今天咱们来借此了解所谓的爬虫,嗯…让我想一想如何把我贫瘠的知识说的长一点,把这首歌听完再走…python
01web
何为爬虫微信
网络爬虫(又称为网页蜘蛛,网络机器人,在FOAF社区中间,更常常的称为网页追逐者),是一种按照必定的规则,自动地抓取万维网信息的程序或者脚本。另一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。网络
02多线程
嗯…机器学习
在从不了解爬虫到稍微了解一点爬虫的如今,个人心里如是也。分布式
03ide
万物前提
爬虫实际上是大数据分析里最最基础的一部分,学了基本的爬虫可能连数据分析的入门还算不上,众所周知,数据分析,机器学习,人工智能等领域所要有的第一步就是数据的获取,有了数据就能够对数据进行建模分析,而网络爬虫的任务就是完成数据的采集(此处应该有广告!!)。
04
开始了!
因此快来看我怎么下载网易云里的音乐!!
首先登录网易云音乐,下载我收藏多年的音乐歌单到电脑右击下载,选择路径,就下载好了
!
我我的认为,爬取通常网页的基本信息有三步。
第一步访问网页
html=requests.get(url,headers=headers).content.decode('utf-8')
第二步获取数据
music_url = tree.xpath('//tbody//tr/td[2]/div/div/div//span/ a/@href') name=tree.xpath('//ul[@class="f-hide"]/li/a/text()')
第三步保存数据
with open(file_path,"wb")as mu: req=requests.get(base,headers=headers) mu.write(req.content)
代码如是也:
import requests from lxml import etree url='https://music.163.com/playlist?id=2655408339' headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.87 Safari/537.36' } def get_content(url): html=requests.get(url,headers=headers).content.decode('utf-8') print(html) #加载 soup = BeautifulSoup(html, 'lxml') tree=etree.HTML(html) music_url = tree.xpath('//tbody//tr/td[2]/div/div/div//span/ a/@href') name=tree.xpath('//ul[@class="f-hide"]/li/a/text()') for index,item in enumerate(music_url): url_id=item.split('=')[-1] print(url_id) filename=name[index] base='http://music.163.com/song/media/outer/url?id=%s'%url_id print(base) file_path=r"C:\folders\核心六大难\软文生涯\网易云音乐/%s.mp3"%filename with open(file_path,"wb")as mu: req=requests.get(base,headers=headers) mu.write(req.content) get_content(url)
图|涉及反爬寻找目标网址有一个艰难的过程。
01
没那么简单
因此,我就学会了爬虫了吗?
不,真正的征途才刚刚开始。
你还须要学习的:
在二般没有反爬的网页下,咱们能够很轻松的爬到数据,大多状况下,咱们会遇到各类各样的反爬机制,互联网前端行业的发展,数据加载也是经过接口形式传输或者是JSON数据通过JavaScript渲染得来的,这时requests获取网页源代码就无论用了,因而就延伸出了Ajax,动态渲染等技术。
数据量极大时,这时候就须要提高CPU的利用率,也就是所谓的“多线程,协程,进程”。对于须要规模化的项目又涉及到“分布式”,或者对于一些强大的反爬机制还须要设置代理IP,又或者你会遇到奇葩的反爬机制,正如此刻的我还在困惑如何大量下载个人歌单…
好了,看到这里,对于懂爬虫的大佬我想说:
而想学爬虫又不知如何下手的小伙伴,能够关注个人CSDN博客(后台回复CSDN),里面有我学习时记录的笔记
我想说:
欢迎关注微信公众号“麦香E站”!
一块儿玩耍鸭。