嗨喽~大家好呀,这里是魔王呐 ❤ ~!
爬虫基本流程
requests的使用
正则表达式的使用
解释器: python 3.8
编辑器: pycharm 2022.3 专业版
第三方模块使用
第三方模块安装:
win + R 输入 cmd 点击确定, 输入安装命令 pip install 模块名 (pip install requests) 回车
在pycharm中点击Terminal(终端) 输入安装命令
如果出现爆红, 可能是因为 网络连接超时, 可切换国内镜像源,命令如下:
pip install -i https://pypi.doubanio.com/simple/ requests
python资料、源码、教程\福利皆: 点击此处跳转文末名片获取
导入模块
import requests
import re
模拟伪装
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36'
}
请求链接
url = 'https://*****/discover/toplist'
发送请求
response = requests.get(url, headers=headers)
获取数据
html_data = response.text
解析数据
info_list = re.findall('- (.*?)
', html_data)
print(info_list)
# 将每一首歌曲的id和名称 挨个取出来
for info in info_list:
music_id = info[0]
music_name = info[1]
print(music_id, music_name)
music_url = 'http://****/song/media/outer/url?id=' + music_id
源码、解答、教程+V:pytho8987获取
music_info_url = 'https://music.163.com/song?id='+music_id
text = requests.get(music_info_url, headers=headers).text
img_url = re.findall('', text)[0]
print(img_url)
img_data = requests.get(img_url).content
f = open(rf'C:\Users\Administrator\Desktop\music\{music_name}-{music_id}.jpg', mode='wb')
f.write(img_data)
保存数据
# music_data = requests.get(music_url).content
# # 创建一个音乐文件
# # mode='wb': 以二进制的方式写入数据
# f = open(rf'C:\Users\Administrator\Desktop\music\{music_name}-{music_id}.mp3', mode='wb')
# # 写入数据
# f.write(music_data)
一、什么是正则?
搜索功能的一种 不是普通的搜索功能
.:
替代一个字符
*:
匹配前面表达式 多次
.*:
匹配任意字符多次
?:
非贪婪匹配符
():
我只需要()里面的内容
正则 我们知道数据的开头 和结尾 我们就能匹配到数据内容
<li><a href="/song?id="></a></li>
<li><a href="/song?id="></a></li>
<li><a href="/song\?id=.*?">.*?</a></li>
二、
正常 没有问题的情况 仅仅代表请求成功
不能代表你一定能拿到数据
要成功,先发疯,下定决心往前冲!
学习是需要长期坚持的,一步一个脚印地走向未来!
未来的你一定会感谢今天学习的你。
—— 心灵鸡汤
本文章到这里就结束啦~感兴趣的小伙伴可以复制代码去试试哦 😝