2014-12-24 1 views
0

사이트의 스크래퍼를 쓰고 있습니다. 이상한 일이 일어나고 있습니다. URL을 방문하지 않았습니다. 오히려 그것은 웹 사이트의 기본 URL을 방문합니다.치료 후 URL을 방문하지 않음 #

인터넷에서 검색 한 결과 #가 전송 된 후 Ajax 요청을 식별하고이를 모방해야한다는 것을 알게되었습니다.

그러나 문제는 있습니다. Ajax 요청의 응답은 json 응답으로 제공됩니다. 그것은 html 콘텐츠가 아닙니다. 제발 그걸 어떻게 다루는 지 좀 도와주세요.

다음

https://www.buildersshow.com/Search/Exhibitors.aspx#showID=11&state=160&tabname=name

+0

코드도 –

+0

입니다. 단지 Scrapy가 아니며,''#''이후의 내용은 서버로 보내지지 않습니다. 항상 클라이언트에서 처리됩니다. json 응답을 처리하는 것이 HTML에서 긁는 것보다 쉬워 져야한다. 단지''data = json.loads (response.body)'또는 이와 비슷한 것을 할 필요가있다. – elias

답변

0

당신이 AJAX 페이지를 만드는 것을 요청하는 조사하면, 당신이하고 응답을 얻을 필요가 요청을 식별이, 그것은 JSON는 응답 본문에 포함되어야하는 URL을 것입니다. 이를 분석하고 관심있는 데이터를 얻으려면 json 디코더/인코더 모듈을 사용하십시오. 이 같은 것 :

import json 

mydata = json.loads(response.body) 
info = mydata['somekey'] 
subinfo = mydata['somekey']['subkey'] 

등등. json 디코더를 제대로 처리하려면 official documentation을 먼저 읽는 것이 가장 좋습니다.

+0

감사합니다. 이것으로 해결했습니다. – Gaurang

+0

답변이 도움이된다면 동의로 표시하십시오. – bosnjak

관련 문제