无法抓取Javascript网站-API调用/XHR请求

无法抓取Javascript网站-API调用/XHR请求,javascript,python,json,scrapy,xmlhttprequest,Javascript,Python,Json,Scrapy,Xmlhttprequest,我无法抓取依赖Java脚本的网站。我需要从API调用中获取学校列表,该API调用使用XHR请求发送到服务器,该请求获取JSON对象 我使用与XHR请求相同的请求头,包括cookie值。不知道为什么它不起作用。它基本上给出了超时错误。附加google chrome请求标题(网络选项卡)中的Python代码和屏幕截图以及vs code termial中的错误: # -*- coding: utf-8 -*- import scrapy import json class SchoolSpider(

我无法抓取依赖Java脚本的网站。我需要从API调用中获取学校列表,该API调用使用XHR请求发送到服务器,该请求获取JSON对象

我使用与XHR请求相同的请求头,包括cookie值。不知道为什么它不起作用。它基本上给出了超时错误。附加google chrome请求标题(网络选项卡)中的Python代码和屏幕截图以及vs code termial中的错误:

# -*- coding: utf-8 -*-
import scrapy
import json

class SchoolSpider(scrapy.Spider):
    name = 'school'
    # allowed_domains = ['www.directory.ntschools.net']
    # start_urls = ['https://www.directory.ntschools.net/api/System/GetAllSchools/']

    headers = {'Accept': 'application/json',
    'Accept-Encoding': 'gzip, deflate, br',
    'Accept-Language': 'en-GB,en-US;q=0.9,en;q=0.8',
    'Connection': 'keep-alive',
    'Cookie': 'BIGipServerdirectory.ntschools.net_443.app~directory.ntschools.net_443_pool=360972810.20480.0000',
    'Host': 'directory.ntschools.net',
    'Referer': 'https://directory.ntschools.net/',
    'Sec-Fetch-Dest': 'empty',
    'Sec-Fetch-Mode': 'cors',
    'Sec-Fetch-Site': 'same-origin',
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36',
    'X-Requested-With': 'Fetch'}


    def start_requests(self):
        yield scrapy.Request(url='https://www.directory.ntschools.net/api/System/GetAllSchools/',headers= self.headers,callback=self.parse)

    def parse(self, response):
        print(json.loads(response.body))


我想我现在知道我做错了什么。我使用了错误的带有“www”的api url,而原始url没有。我的错。感谢那些在这方面投入时间的人。干杯