通过splash的render.html接口请求页面时,默认的User-Agent是splash,想给他指定一个请求头,一直报错:headers’ must be either a JSON array of (name, value) pairs or a JSON object。
去查看官方文档,但是一直设置不好,最后通过以下方法解决:
import json
import requests
# 需要添加的请求头
headers = [
('User-Agent', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36'
' (KHTML, like Gecko) Chrome/71.0.3578.80 Safari/537.36'),
]
params = {
'url': 'http://httpbin.org/get',
'http_method': 'GET',
'headers': headers,
}
requests.post(url='http://localhost:8050/render.html',
headers={'Content-Type': 'application/json'},
data=json.dumps(params))
参考:https://github.com/scrapinghub/splash/issues/775