티스토리 뷰



데이터가 어디 숨어있는지 찾았으니 불러봅시다.






GetSessionList 


이름도 딱 리스트를 요청하는 것처럼 생겼네요.


링크를 복사해서 브라우저로 들어가봅시다.




???


아무런 화면이 나오지 않네요.



사용하는 방식이 POST네요


브라우저에 URL을 입력하고 엔터를 치는 것은


 GET방식입니다.


쉽게 얘기하면 당겨야 할 문을 밀어서 열리지 않았다고 보면 됩니다.




함께 보내야할 정보도 잊지말고 잘 넣어줘야겠네요.


Payload 기억하도록 하죠!


POST방식 요청은 브라우저에서는 할 수 없으니!


다시 파이선 코드로 돌아옵시다.


import requests
url = "https://tickets.pyeongchang2018.com/Session/GetSessionList";
payload = {
	"Culture":"ko-kr",
	"SDate":"2018-02-08",
	"EDate":"2018-02-25",
	"SearchKey":"",
	"SeatCount":0,
	"Disciplines":"",
	"Genders":"",
	"Times":"",
	"Stadiums":"",
	"Medal":""
}
req = requests.post(url, json=payload)
res = req.text
print res

URL로 함께 요청하는 정보는 정확히는 모르겠지만!


언어를 위한 국가코드와


검색을 위한 필터 정보가 포함되어 있지 않나 싶습니다.




응답을 출력해보면 다음과 같이 나옵니다.


[ { 키:값 , 키:값.... }, { 키:값, 키:값 ... } .... { 키:값, 키:값 } ]


와 같은 양식인 것을 보니


JSON 형식으로 파싱이 가능해 보입니다.


res = req.json()


JSON 형식으로 파싱은 다음과 같이 간단하게 끝납니다.




에러 없이 파싱에 성공했네요.


print len(res)
ticket = res[0]
for key in ticket.keys():
	print key, ticket[key]


응답으로 온 데이터의 개수를 출력하고


첫번째 입장권 정보를 순서대로 출력해보는 코드를 추가했습니다.




데이터의 개수는 215개네요.


첫번째 데이터는 2월 8일 A석 4만원 컬링 경기에 대한 정보인 것을 보니


제대로 받아온 듯합니다.


자세한 데이터 정보는 다음에 확인해보도록 합시다


5부에서 이어집니다.




댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함