相关文章推荐
健身的鸡蛋面  ·  Excel ...·  5 月前    · 
睡不着的电影票  ·  【OpenMMLab ...·  1 年前    · 
url = 'https://music.163.com/discover/toplist?id=3778678' # 歌曲下载链接前半部分 url_base = 'http://music.163.com/song/media/outer/url?id=' # U-A伪装,模拟浏览器 headers = { 'User-Agent' : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 ' '(KHTML, like Gecko) Chrome/85.0.4183.121 Safari/537.36' } # 抓取网站信息并使用etree预处理数据 response = requests . get ( url = url , headers = headers ) html = etree . HTML ( response . text ) # 原始id、name列表(包含无关信息) raw_id_list = html . xpath ( '//a[contains(@href, "song?")]/@href' ) raw_name_list = html . xpath ( '//a[contains(@href, "song?")]/text()' ) id_list = [ ] name_list = [ ] # 过滤无关信息,得到纯净列表 for id in raw_id_list : music_id = id . split ( '=' ) [ 1 ] if '$' not in music_id : id_list . append ( music_id ) for music_name in raw_name_list : if '{' not in music_name : name_list . append ( music_name ) # 遍历所有歌曲 for i in range ( len ( id_list ) ) : # 完整下载链接 music_url = url_base + id_list [ i ] # 对应歌曲名称 music_name = name_list [ i ] # 获取每首歌取得具体信息 music = requests . get ( url = music_url , headers = headers ) # 以二进制形式写入到本文件夹的(具体保存路径可自己修改) with open ( './%s.mp3' % music_name , 'wb' ) as file : file . write ( music . content ) print ( '<%s>下载成功...' % music_name ) *urllib.request:**这是 Python 自带的库,不需要单独安装,它的作用是为我们打开url获取html的内容。虽然这样可以看得更清楚,但不适用于我们的 爬虫 程序,爬一页就打开一页效率太低,所以我们用一个叫PhantomJS的工具代替真实的浏览器。这里说的动态网页,与网页上的各种动画、滚动字幕等视觉上的动态效果没有直接关系,动态网页也可以是纯文字内容的,也可以是包含各种动画的内容,这些只是网页具体内容的表现形式,无论网页是否具有动态效果,只要是采用了动态网站技术生成的网页都可以称为动态网页。         有了第一个程序的基础,我们现在来 爬取 酷狗音乐top500的歌曲信息。连接http://www.kugou.com/yy/rank/home/1-8888.html 我们第一个程序只 爬取 了一个页面的数据,而现在我们需要 爬取 多个页面的数据,即跨页面 爬虫 。这就需要我们观察网页URL来构造一个列表利用for循环,分次抓取了。接下来看代码: #导入requests库 import re... 为一线医护人员加油!为武汉加油!为中国加油!为世界加油! 此 爬虫 是本人参考了了一位前辈的文章 环境:Ubuntu18.04、 Python 3.6.9、Google Chrome python 爬取 网易云 热歌 歌曲信息(iframe框架内数据 爬取 ,src为空) 一、 网易云 热歌 https://music.163.com/#/discover/toplist?id=3778678页面是采用嵌入内... r=requests.get(url,timeout=5)#发送请求,timeout限制请求时间 r.raise_for_status()#若有错误,抛出异常 r.encodin... 本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理。 PS:如有需要 Python 学习资料的小伙伴可以加点击下方链接自 获取 python 免费学习资料以及群交流解答点击即可加入 python 3.6.5 pycharm import requests 相关模块 pip 安装即可 网易云 的歌曲还是很好听的~ 超NICE的网站~ http://tool.liumingye.cn/music/?page=homePage 首先找到要下载的歌曲排 的链接,这里用的是:https://music.163.com/discover/toplist?id=3778678然后更改你要保存的目录,目录要先建立好文件夹,例如我的是保存在D盘-360下载- 网易云 热歌 文件夹内,就可以完成下载。如果文件夹没有提前建好,会报错[Errno 2] No such file or directory。代码实现:from urllib i... 一.分析思路 网易云 音乐 热歌 的页面采用嵌入内联框架的方式,若 爬虫 直接从官网入口进入访问 热歌 http://music.163.com/#/discover/toplist?id=3778678,是无法获取到iframe框架内的数据的,因此应当用另外的方法进 访问。当然最简单的方法可以用selenium+ chrome 的方式进 获取数据(使用switch_to.frame方法,网上有很多教程)。第二种... 2021软科中国大学排名( Python 抓取)   由于软科官网使用动态渲染技术,将数据封装在js文件中,导致无法直接抓取所有的排名记录。用普通的请求方式只能抓取到前30条记录。虽然也可以通过自动化测试工具selenium模拟浏览器 为把数据提取出来,但毕竟繁琐。本文通过拿到网页js文件,然后通过正则表达式提取出排名信息的方式,将所有大学排名抓取出来。具体步骤如下:   (1)右键点击检查( Chrome ),来到控制面板,点击network,找到payload.js,双击找到请求头headers,便可以找到请求 前一段时间刚刚入门 python 爬虫 ,有大概半个月时间没有写 python 了,都快遗忘了。于是准备写个简单的 爬虫 练练手,我觉得 网易云 音乐最优特色的就是其精准的歌曲推荐和独具特色的用户评论,于是写了这个抓取 网易云 音乐 热歌 里的热评的 爬虫 。我也是刚刚入门 爬虫 ,有什么意见和问题欢迎提出,大家一起共同进步。 废话就不多说了~ 我们的目标是 爬取 网易云 中的 热歌 中所有歌曲的热门评论。 这样既可以减少 创建 爬虫 查看 歌单 链接 https://music.163.com/#/discover/playlist 用 requests 下载此链接的网页发现不是原网页,应该是被跳转到了登录页面。分析之后得到真实网页应该是: https://music.163.com/discover/playlist (去掉 #) 同时还需要设置一下 headers,如下: DEFAULT_REQUEST_HEADER... 之前在课本上和csdn看到了这个 爬取 大学排名的案例,但照着案例打出的程序一直报错,后来一步一步根据网上资料分析程序后,不断改错后,终于实现了这个程序的编写。 二、运 结果展示 三、程序实现需要的几个函数库 requests和 bs4其中requests库用来 爬取 网页内容,使用beautifulsoup4库分析网页中的数据,提取学校排名并且打印出来。首先这两个库是要提前下载的:需要我们使用cmd进入到我们 python 下载所在的文件中的Scripts文件中,输入下列指令下载即可 四、程序分析 简单分析一下这个