Python scaping响应数据

时间:2017-02-24 09:58:23

标签: python web-scraping

我想获取有关特定网站的回复数据。 我有这个网站: https://enjoy.eni.com/it/milano/map/ 如果我打开浏览器debuger控制台,我可以看到一个提供json响应的posr请求:

response image

如何在python中通过抓取网站来获取此响应? 感谢

1 个答案:

答案 0 :(得分:3)

显然,webservice有PHPSESSID验证,所以我们需要先使用合适的用户代理来获取它:

import requests
import json

headers = {
    'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.76 Safari/537.36'
}
r = requests.get('https://enjoy.eni.com/it/milano/map/', headers=headers)
session_id = r.cookies['PHPSESSID']
headers['Cookie'] = 'PHPSESSID={};'.format(session_id)
res = requests.post('https://enjoy.eni.com/ajax/retrieve_vehicles', headers=headers, allow_redirects=False)
json_obj = json.loads(res.content)