在浏览器中,链接的响应是json,但是在我使用python进行爬取时返回的是html。请问该怎么解决?
这是我的代码:
```python
import requests
headers = {
'authority': 'api.pixivel.moe',
'sec-ch-ua': '" Not A;Brand";v="99", "Chromium";v="99", "Google Chrome";v="99"',
'accept': 'application/json, text/plain, */*',
'sec-ch-ua-mobile': '?0',
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.84 Safari/537.36',
'sec-ch-ua-platform': '"Windows"',
'origin': 'https://pixivel.moe',
'sec-fetch-site': 'same-site',
'sec-fetch-mode': 'cors',
'sec-fetch-dest': 'empty',
'referer': 'https://pixivel.moe/',
'accept-language': 'zh-CN,zh;q=0.9',
}
params = {
'p': '1',
}
response = requests.get('https://api.pixivel.moe/v2/pixiv/illusts/sample', params=params, headers=headers)
print(response.text)
这是chrome中的截图:


这是我的运行结果:

import cloudscraper
params = {
'p': '1',
}
scraper = cloudscraper.create_scraper(browser={'browser': 'firefox', 'platform': 'windows', 'mobile': False})
resp = scraper.get("https://api.pixivel.moe/v2/pixiv/illusts/sample",params = params)
for i in resp.json()['data']['illusts']:
altTitle = i['altTitle'] #alt标题
createDate = i['createDate'] #创建时间
description = i['description'] #描述
id = i['id']
uploadDate = i['uploadDate'] #上传时间
title = i['title'] #标题
print(title,uploadDate)#打印标题+上传时间
正常逻辑打印出来的参数有一个https://www.cloudflare.com/?utm_source=challenge&utm_campaign=m%E8%BF%99%E4%B8%AA%E9%93%BE%E6%8E%A5%E6%9F%A5%E4%BA%86%E4%B8%80%E4%B8%8B%E6%98%AF%E9%98%B2%E7%88%AC%E8%99%AB%E3%80%82
百度搜requests cloudflare 找到这个文章 https://blog.csdn.net/SuperYR_210/article/details/120674405
按照这个即可解决