兰竹皋 发表于 2020-10-9 19:08:09

关于爬虫的一个问题。。。

本帖最后由 兰竹皋 于 2020-10-9 19:11 编辑

目的:想做一个直接从懒人全网音乐上下载音乐的爬虫

发现ajax数据包

数据包基本信息

数据包是 json 格式

请求 post 附加 data 数据

确定 json 数据


从而写下代码:

import requests


if __name__ == '__main__':
        # name = input('请输入需下载音乐名称:')
        station = ['netease', 'kugou']
        download_by = station
        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:34:01

本帖最后由 suchocolate 于 2020-10-9 19:40 编辑


import requests


if __name__ == '__main__':
    url = 'http://www.eggvod.cn/music/'
    station = ['netease', 'kugou']
    download_by = station
    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())

兰竹皋 发表于 2020-10-9 20:07:01

suchocolate 发表于 2020-10-9 19:34


谢谢,单请问下,为什么有些ajax请求不需要加 x头同样可以得到 json结果?





是因为 content-type:一个是 application/json;一个是 text/json        中        text 有第二种选择吗?

suchocolate 发表于 2020-10-9 20:11:49

兰竹皋 发表于 2020-10-9 20:07
谢谢,单请问下,为什么有些ajax请求不需要加 x头同样可以得到 json结果?




x头不是必须的,看网站。有的不加也能拿到,和数据类型无关。

兰竹皋 发表于 2020-10-9 20:28:04

suchocolate 发表于 2020-10-9 20:11
x头不是必须的,看网站。有的不加也能拿到,和数据类型无关。

谢谢了
^_^
页: [1]
查看完整版本: 关于爬虫的一个问题。。。