2016-07-21 3 views

답변

2

요청에 표시되는 헤더를 복제해야합니다. 당신은 응답 헤더를 검사하는 경우

당신은 볼 수 있습니다 : 당신이 당신의 scrapy.Request.headers 속성을 업데이트해야이에서 amazon.ca next page headers

합니다. 이 값들 중 몇 가지는. 대부분의 경우, 치료가 쿠키 자체를 관리하기 때문에 쿠키를 건너 뛸 수 있으며 일반적으로 이와 같은 ajax 요청에는 의미가 없습니다.

이 경우에는 X-Requested-With 헤더 만 복제하여 성공적인 응답을 얻을 수있었습니다. 이 헤더는 Ajax 요청이 발생했음을 나타 내기 위해 사용됩니다.

당신은 실제로 테스트이 실시간으로 엔지니어링 할 수 있습니다

scrapy shell <url> 
# gives you 403 
request.headers.update({'X-Requested-With': 'XMLHttpRequest'}) 
request.headers.update({'User-Agent': <some user agent>}) 
fetch(request) 
# now the request is redownloaded and it's 200! 
관련 문제