赞
踩
request安装
通过pip安装
pip install requests
request使用示例可参考上一篇文章:
西瓜很甜:Python爬虫教程(一)使用request+Beautiful爬取妹子图zhuanlan.zhihu.comre模块
①pattern表示一个正则表达式,
②flags表示编译标志位,用于修改正则表达式的匹配方式
③string表示源字符串
④maxsplit表示最大分隔数
⑤repl表示用于替换的字符串
⑥count表示返回前count个匹配结果,count是一个数目
⑦本文着重于讲示例,更多有关正则表达式详情查看相关的官方文档:
正则表达式官方文档www.regexlab.com举一个容易理解一点的例子:
爬取并批量下载好听轻音乐网
好听轻音乐网链接:钢琴曲 - 好听轻音乐网
- import re # 导入正则re库
- import requests
- import urllib
- songId = [] # 存储歌曲
- songName = [] # 存储歌名
- num = 0
- # range(start, end, scan)
- # start:计数的开始位置,默认是从0开始。
- # end: 计数的结束位置
- # scan:每次跳跃的间距,默认为1。
- for n in range(0, 10):
- url = "http://www.htqyy.com/genre/musicList/3?pageIndex="+str(n)+"&pageSize=20&order=hot"
- # print(url)
- html = requests.get(url) # get()发送请求
- # 正则匹配歌曲名 compile()返回一个pattern对象
- pattern = re.compile('<span class="title".*?sid=".*?">(.*?)</a></span>', re.S)
- songName.extend(re.findall(pattern, html.text)) # extend()函数用于在列表末尾一次性追加另一个序列中的多个值
- songId.extend(re.findall('sid="(d+)">', html.text)) # 区分 append()和extend()
- for m in songId:
- print("正在下载", songName[num])
- songUrl = 'http://f1.htqyy.com/play7/{}/mp3/4'.format(str(m))
- print(songUrl)
- num += 1
- try:
- # urlretrieve() 方法直接将远程数据下载到本地
- # urlretrieve(url, filename=None, reporthook=None, data=None)
- urllib.request.urlretrieve(songUrl, "D://gequ//" + songName[num] + '.mp3')
- print("下载成功")
- except:
- print("%s歌曲不正常" % songName[num])

获取下载歌曲链接步骤及解释
2. 抓取歌曲下载链接
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。