강의내용중 코드 질문
똑같은 한빛출판홈페이지에서 강사님께서 강의하신 내용과 약간 다르게 짜보았습니다.(이건 중요한게 아니고...)
아래코드는 로그인 후, 상품을 카트에 넣고 그 상품명을 찾는 코드입니다.
결과는 예상과 같이 잘 나옵니다.
제가 궁금한 점은
req = session.post(request_url, data = params) 부분에서 data 대신에 다른 것을 쓰면
request() got an unexpected keyword argument '~~~'
이런 사인이 뜹니다. 근데 data 대신에 headers 를 쓰면 값은 안나옵니다. 하지만 에러사인은 안뜹니다. (headers를 써본 이유는 지난번 네이버 openAPI에서 headers로 아이디/패스워드 정보를 넘겨준 기억이 있어서..)
이거 왜 그런건가요?
추가로 한가지 더 질문드리자면,
어떤 사이트를 알려주신 코드대로 짜서, print(session.cookies.get_dict()) 를 해보면,
{'PHPSESSID': '831c4b75bb92f4b55de47bca51617d57', 'gd_user_enamooPass': 'X3docUpEbGVNS0EuRWJFeElmRW5JQC0pSmwxdE5LY3VHYl81SmZZbkVnbDU%3D'}
이런식으로 결과값이 나옵니다. 이것은 session이 두개라는 의미인가요? 쿠키에 이 두가지 session을 저장해두었다가 내가 서버에 정보를 요청할때 마다 이 두가지 session을 함께 보낸다고 생각해도 되나요?
(아니면 혹시 session은 꼭 하나여야만 하는지....)
답변 1
0
안녕하세요. 우선 굉장히 잘하고 계시는 것 같아요.
아무래도 웹사이트를 개발해보신적이 없으셔서, 크롤링이라는 것을 웹사이트마다 모두 동일하게 적용할 수 있다고 보시는 것일 수도 있는듯해요. 구글을 통해서 여러가지 기술적인 내용도 찾아보신다면 더 많은 부분까지 이해하실 수 있으실 것 같습니다. session.post에서 data 대신에 다른 것을 쓰면 그런 사인이 뜨는 것은 파이썬 함수 사용법을 아직 중급 수준으로 숙지하지 못하셔서일 듯 해요. post 함수에 특정 변수 이름과 default값을 미리 정해놓을 수 있습니다. 그런데 그런 변수 이름이 아닌 아무 변수 이름=값 의 형태가 들어오니, 위와 같이 그런 변수 이름=값 이 정해져있지 않다는 뜻입니다.
HTTP response를 통해 넘어오는 쿠키값은 웹사이트에 따라 다를 수 있고, 갯수도 다를 수 있습니다. 위와 같이 해당 사이트에서는 HTTP response로 두개의 값이 넘어왔고, 동일한 세션이라면 해당 두 개의 값이 신규 HTTP request에 함께 넘어가는 것이 일반적입니다. (웹사이트상에서 동작시를 의미합니다.)
감사합니다.
크롤링, 영상을 따라해도 제미나에게 물어봐도 안되요
0
33
1
정규표현식 및 여러 코드 꼭 외워야 하나요?
0
40
1
리스트 함수형도 정수 데이터 받을 수 있나요?
0
46
1
크롤링 관련 질문
0
64
1
문제 답이 없는 버전은 없나요?
0
74
1
requests, BeautifulSoup 임포트 부분에 대해 문의드립니다.
0
83
1
업데이트 강의
0
98
2
선생님 강의중에서 sqlite3 강의를 제공한 강의가 있나요?
0
123
2
연습용 예제 파일
0
76
1
lxml 관련 오류
0
106
1
SAVE Request 창 띄우는 법
0
92
1
포스트맨 사용법이 바뀌어서 강의를 따라가지 못하겠습니다. 2
0
75
1
포스트맨 사용법이 바뀌어서 강의를 따라가지 못하겠습니다.
0
98
1
예제 2, 4, 6에 대한 풀이 방식 질문.
0
89
1
문제 파일
0
78
1
pdf 파일 내 코드 복붙시 공백
0
291
1
데이터 저장 강좌 문의 건
0
96
1
" " 와 ' '의 차이를 알고 싶습니다
0
243
1
Exercise 22. 문자열 다루기 (strip)
0
132
1
list함수로 리스트 선언하면 실패하는데 이유는 무엇입니까?
0
187
1
셀 삽입후 바로 기입이 가능합니까?
0
139
2
주피터 노트북 마우스 스크롤? 오류
0
1550
2
등호 2개('==')의 의미가 뭐죠?
0
460
2
페이지가 넘어갈 때 url 변하지 않는 경우
0
267
1





