|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 兰竹皋 于 2020-10-9 19:11 编辑
目的:想做一个直接从懒人全网音乐上下载音乐的爬虫
发现ajax数据包
找到数据包
数据包基本信息
请求信息
数据包是 json 格式
发现json格式
请求 post 附加 data 数据
附带的data数据
确定 json 数据
json包
从而写下代码:
- import requests
- if __name__ == '__main__':
- # name = input('请输入需下载音乐名称:')
- station = ['netease', 'kugou']
- download_by = station[1]
- url = 'http://www.eggvod.cn/music'
- data = {
- 'input': '云烟成雨',
- 'filter': 'name',
- 'type': download_by,
- 'page': '2', # 每页10个数据
- }
- headers = {
- "User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36"
- }
- re_json = requests.post(url=url, headers=headers, data=data).text
- print(re_json)
复制代码
但得到的 re_json 却不是 json 包内结果,而是原网站代码:
请问这是为什么?再者,改怎么作才能获得 json 数据包的地址?
谢谢各位。。。^_^
本帖最后由 suchocolate 于 2020-10-9 19:40 编辑
- import requests
- if __name__ == '__main__':
- url = 'http://www.eggvod.cn/music/'
- station = ['netease', 'kugou']
- download_by = station[1]
- data = {
- 'input': '云烟成雨',
- 'filter': 'name',
- 'type': download_by,
- 'page': '1' # 每页10个数据
- }
- params = {'input': '云烟成雨', 'type': download_by}
- headers = {
- 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36',
- 'X-requested-with': 'XMLHttpRequest'
- }
- # header得加 x头,看了实际url从data里抽了2个参数。
- r = requests.post(url=url, headers=headers, data=data, params=params)
- print(r.json())
复制代码
|
|