import json import os import requests import bs4 from lxml import etree # 模拟真实浏览器标头 header = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 ' '(KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36' } # 获取专辑页数 def get_album(url): res = requests.get(url, headers=header) soup = bs4.BeautifulSoup(res.text, "html.parser") # pagingBar_page为开发者模式下查看到的页码标识 elems = soup.select('a[class^="pagingBar_page"]') print("本频道共有{}个页面".format(len(elems)-1)) for i in elems: if i.text == "下一页": continue print("正在下载第{}/{}个页面".format(i.text, len(elems)-1)) if i.text != "1": url = "http://www.ximalaya.com" + i.attrs["href"] get_url(url) def get_url(url): res = requests.get(url, headers=header) soup = bs4.BeautifulSoup(res.text, "html.parser") # sound_id为开发者模式下查看到的页码标识 elems = soup.select('li[sound_id]') for i in range(len(elems)): murl = 'http://www.ximalaya.com/tracks/{}.json'.format(elems[i].attrs["sound_id"]) html = requests.get(murl, headers=header).text dic = json.loads(html) try: print("正在下载第{}/{}文件,文件名{}:{}。".format(i+1, len(elems), elems[i].attrs["sound_id"],dic["title"])) get_m4a(dic["play_path"], elems[i].attrs["sound_id"]) except: print("下载{}/{}文件,文件名{}:{}时失败。".format(i + 1, len(elems), elems[i].attrs["sound_id"], dic["title"])) def get_m4a(url, id): folder = "郭德纲相声" # 自定义文件夹名称 res = requests.get(url) file = open(os.path.join(folder, os.path.basename(id)), 'wb') for chunk in res.iter_content(100000): file.write(chunk) file.close() if __name__ == '__main__': url = "http://www.ximalaya.com/1000202/album/2667276/" # 专辑地址 get_album(url)
相关推荐
Python网页抓取讲解.pptx
※网页抓取及信息提取
本文档包括在网上搜集的众多基于Python的网页抓取实例,包括代码及说明,不是原创,只是收集了一下 里面有些例子确实很不错,看了几个例子我尝试编写了个QQ空间日志备份程序,效果还不错 (详见资源: ...
今天介绍将HTML网页抓取下来,然后以PDF保存,废话不多说直接进入教程。 今天的例子以廖雪峰老师的Python教程网站为例:http://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000 二、...
Python的网页数据抓取,表格的制作,CSS文件的生成,字体的改变
在Jupyter环境利用Python核实现网页信息的抓取。
本文实例讲述了Python实现抓取网页生成Excel文件的方法。分享给大家供大家参考,具体如下: Python抓网页,主要用到了PyQuery,这个跟jQuery用法一样,超级给力 示例代码如下: #-*- encoding:utf-8 -*- import sys...
Python抓取网页代码 抓取了国家环境网站上的一组AQI数据
OshaScrapy 一个 Python 网页抓取代码,用于获取有关报告的工作场所死亡、灾难、检查和违规行为的公开 OSHA 数据。 找出公共数据集的最新文件名。 直接从劳工部数据目录中提取它们。
python代码抓取网页中所有图片,用于网页中抓取所有图片信息。
Python爬虫入门所有代码,其中包括Python爬虫抓取网页、Python爬虫抓取图片以及使用Spider模仿用户行为抓取403错误网页
Zeek, python 分发网页抓取器和动态爬虫 Zeekpython 分布式网页抓取/网页抓取器这是我的分布式网络爬虫的第一。 这是不完美的,但是我共享它,因为最终的结果更好,它可以以很容易地适应你的需求。 欢迎使用 improve...
python实现网页数据采集python实现网页数据采集python实现网页数据采集python实现网页数据采集
python爬虫抓取哪儿网页上的一些字段,只能用炫酷来形容,感兴趣就下载看看吧
ruia:基于asyncio的异步Python 3.6 网页抓取微框架。它具有容易上手、非阻塞、扩展性强等特点
beautifulsoup python 网页抓取 爬虫