def __init__ ( self , baseurl , path ) : head = { "user-agent" : "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36" baseurl = baseurl . replace ( "#/" , "" ) self . baseurl = baseurl self . headers = head self . path = path def main ( self ) : html = self . askurl ( ) bs4 = self . analysis ( html ) name1 = self . matching ( bs4 ) self . save ( name1 ) def askurl ( self ) : req = request . Request ( url = self . baseurl , headers = self . headers ) response = request . urlopen ( req ) html = response . read ( ) . decode ( "utf-8" ) return html def analysis ( self , html ) : soup = BeautifulSoup ( html , "html.parser" ) bs4 = soup . find_all ( "textarea" ) bs4 = str ( bs4 ) return bs4 def matching ( self , bs4 ) : rule0 = re . compile ( r '"name":"(.*?)","tns":[],"alias":[]' ) name0 = re . findall ( rule0 , bs4 ) str = "" for i in name0 : str = str + "," + i str = str . replace ( "\xa0" , " " ) rule1 = re . compile ( r 'jpg,(.*?),(.*?)","id":(\d*)' ) name1 = re . findall ( rule1 , str ) return name1 def save ( self , name1 ) : for j in name1 : print ( "正在下载:" + j [ 1 ] + " - " + j [ 0 ] + "..." ) url = "http://music.163.com/song/media/outer/url?id=" + j [ 2 ] content = requests . get ( url = url , headers = self . headers ) . content with open ( self . path + j [ 1 ] + " - " + j [ 0 ] + ".mp3" , "wb" ) as f : f . write ( content ) print ( j [ 1 ] + " - " + j [ 0 ] + "下载完毕。\n" ) time . sleep ( 0.5 ) return if __name__ == "__main__" : baseurl = "https://music.163.com/discover/toplist?id=3778678" # 要爬取的热歌榜链接 path = "D:/网易云热歌榜/" # 保存的文件目录 demo0 = Music ( baseurl , path ) demo0 . main ( ) print ( "下载完毕" )

二、爬取内容

一、爬虫代码、from urllib import requestfrom bs4 import BeautifulSoupimport reimport requestsimport timeclass Music(object): def __init__(self, baseurl, path): head = { "user-agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKi 要想学好 爬虫 ,必须把基础打扎实,之前发布了两篇文章,分别是使用XPATH和 requests 爬取 网页,今天的文章是学习Beautiful Soup并通过一个例子来实现如何使用Beautiful Soup 爬取 网页。 什么是Beautiful Soup Beautiful Soup是一款高效的 Python 网页解析分析工具,可以用于解析HTL和XML文件并从中提取数据。 Beautiful Soup输入文件的默认编码是Unicode,输出文件的编码是UTF-8。 Beautiful Soup具有将输入文件自动补全的功能,如果输入的HTML文件的title标签没有闭合,则在输出的文件中
本人正在点亮 爬虫 技能树,写blog以记录 selenium和bs4介绍 Selenium 自动化测试工具。它支持各种浏览器,包括 Chrome,Safari,Firefox 等主流界面式浏览器,如果你在这些浏览器里面安装一个 Selenium 的插件,那么便可以方便地实现Web界面的测试。换句话说叫 Selenium 支持这些浏览器驱动。 Beautiful Soup提供一些简单的、 python 式的函数用来处理导航、搜索、修改分析树等功能。它是一个工具箱,通过解析文档为用户提供需要抓取的数据,因为简单,所以不需要多少代码就可以写出一个完整的应用程序。 观察页面信息 我们 爬取 页面为 网易云音乐 的歌
2.可通过在headers中加上账户cookie获取系统为该账户推荐的歌单封面(每个账户系统推荐的歌单均不同) 设计思路简略为输入歌单类型后,循环获取该类型歌单每一页的地址,再根据该地址循环获取该页下每个歌单的图片地址,并将图片分辨率恢复正常大小后下载保存到本地 本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理。 PS:如有需要 Python 学习资料的小伙伴可以加点击下方链接自行获取 python 免费学习资料以及群交流解答点击即可加入 python 3.6.5 pycharm import requests 相关模块 pip 安装即可 网易云的歌曲还是很好听的~ 超NICE的网站~ http://tool.liumingye.cn/music/?page=homePage 需要分两步走,第一步是定位到 热歌 单所在的资源,从而得到这 热歌 中到底有哪些歌并获得每首歌的id;第二步是根据上一步得到的每首歌的id,定位到单独每首歌所在的资源,从而得到每首歌下的评论信息。具体讲: 1)首先我们需要得到 热歌 数据所在的url,经浏览器开发者工具查看网页代码,得知 热歌 的数据所在... # 请在此添加代码,对输入的整数进行判断,如果是素数则输出为True,不是素数则输出为False #********** Begin *********# def prime(n): if n < 2 : return False for j in range(2,n) : if n % j == 0: from bs4 import BeautifulSoup url = 'https://music.163.com/discover/toplist?id=3778678' # 网易云音乐 热歌 的URL headers = { 'Referer': 'https://music.163.com/', 'Host': 'music.163.com', 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3' } # 请求头部信息 response = requests .get(url, headers=headers) soup = BeautifulSoup (response.text, 'html.parser') song_list = soup.find('ul', class_='f-hide').find_all('a') # 获取歌曲列表 for song in song_list: print(song.text) # 输出歌曲名称 运行上述代码,即可 爬取 网易云音乐 热歌 的歌曲列表。同理,如果要 爬取 飙升 的歌曲列表,只需将URL改为`'https://music.163.com/discover/toplist?id=19723756'`即可。