2017-04-09 39 views
2

我想抓scrapy this link使用scrapy。瀏覽器中的鏈接指的是另一個http request。在瀏覽器中訪問此引用的呼叫直接返回:{「message」:「無效或過期的令牌」}。 繼答覆中提到here我所做的:無法使用標題創建網址來模擬XHR請求?

scrapy shell 
headers= {'X-JadoPado-API-Token': 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhcHAiOiJqYWRvcGFkby5jb20iLCJ1c2VySWQiOm51bGwsImV4cCI6MTQ5NDMzMjE0OSwia2lkIjoiYWQxNWY3N2I0NzlmNDIxOTk0OGI5Y2U3MzMyOTQ2MzciLCJkZXZpY2UiOiI3YTc4YzM4Mi01N2VhLTQ3YjItODBiNi1lZTUzYjQ4MzhjNjAifQ.DWrdaIsFCTSAvfk2DEUrdxeloCSNArEk1zDncKlFz0M'} 
req = Request("https://jadopado.com/en-sa/mobile-phones/c/4298?filter=&page=2&sorting=-launchedAt", headers=headers) 
fetch(req) 

我也試圖做同樣的事情將所有標題 request headers

headers = 
    {'Accept':'application/json', 
    'Accept-Encoding':'gzip, deflate, br', 
    'Accept-Language':'en-US,en;q=0.5', 
    'Cache-Control':'no-cache', 
    'Connection':'keep-alive', 
    'Host':'api.jadopado.com', 
    'Origin':'https://jadopado.com', 
    'Referer':'https://jadopado.com/en-sa/mobile-phones/c/4298?filter=&page=2&sorting=-launchedAt', 
    'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Firefox/52.0', 
    'X-JadoPado-API-Token':'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhcHAiOiJqYWRvcGFkby5jb20iLCJ1c2VySWQiOm51bGwsImV4cCI6MTQ5NDMzMjE0OSwia2lkIjoiYWQxNWY3N2I0NzlmNDIxOTk0OGI5Y2U3MzMyOTQ2MzciLCJkZXZpY2UiOiI3YTc4YzM4Mi01N2VhLTQ3YjItODBiNi1lZTUzYjQ4MzhjNjAifQ.DWrdaIsFCTSAvfk2DEUrdxeloCSNArEk1zDncKlFz0M', 
    'X-JadoPado-Currency':'SAR', 
    'X-JadoPado-Locale':'en', 
    } 

即使這沒有奏效。我是否缺少任何東西或者有沒有更好的方法來scrapy link scrapy?

回答

2

您可能正在使用正確的headers,但不是正確的URL。

Request URL

enter image description here

試試這個代碼。

headers = { 
    'Origin': 'https://jadopado.com', 
    'Accept-Encoding': 'gzip, deflate, sdch, br', 
    'Accept-Language': 'en-US,en;q=0.8', 
    'X-JadoPado-Locale': 'en', 
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/537.36', 
    'X-JadoPado-Currency': 'SAR', 
    'Accept': 'application/json', 
    'Cache-Control': 'no-cache', 
    'DNT': '1', 
    'Connection': 'keep-alive', 
    'Referer': 'https://jadopado.com/en-sa/mobile-phones/c/4298?filter=&page=1&sorting=-launchedAt', 
    'X-JadoPado-API-Token': 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhcHAiOiJqYWRvcGFkby5jb20iLCJ1c2VySWQiOm51bGwsImV4cCI6MTQ5NDMzNTAzOSwia2lkIjoiYWMxOWM0YTFlY2FhNDA2MGE5ZjEwYjE1ZGQ3ZmUzZjMiLCJkZXZpY2UiOiJhNDQ4YWFmOS0zMDI0LTQ1NGQtOTg0MC0zYzMxZGI1YzcwMDcifQ.2m2VQ13owO0kLy8shcLuzuAPE8iNEsPEA0p4x640K8o', 
} 



yield Request('https://api.jadopado.com/v1/categories/?parentId=4298&page=1&recordsPerPage=500&showFee=true', headers=headers) 
+0

感謝您指出的請求網址應該用來代替引用的網址。 – javed