파이썬 댓글 개수 크롤링
조회수 727회
'https://news.v.daum.net/v/20190728165812603'
이 기사의 댓글 개수를 크롤링하고자 합니다.
url ='https://comment.daum.net/apis/v1/ui/single/main/@20190728165812603'
headers = {
'Authorization': 'Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJncmFudF90eXBlIjoiYWxleF9jcmVkZW50aWFscyIsInNjb3BlIjpbXSwiZXhwIjoxNTY0NjcxNDAwLCJhdXRob3JpdGllcyI6WyJST0xFX0NMSUVOVCJdLCJqdGkiOiI3MDllNDI5MC0yZmJjLTRmOTUtOTJlOC1mMTAzMDk5ZjYyYTciLCJjbGllbnRfaWQiOiIyNkJYQXZLbnk1V0Y1WjA5bHI1azc3WTgifQ.fQU2739LvY9EZLlNs-Go1VlCVEtz-I-JdS_kKJeOLDc',
'Origin': 'https://news.v.daum.net',
'Referer': 'https://news.v.daum.net/v/20190728165812603',
'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36'
}
resp = requests.get('https://comment.daum.net/apis/v1/posts/@20190728165812603', headers=headers)
data = resp.json()
data['commentCount']
이 코드를 실행하였더니 'JSONDecodeError: Expecting value: line 1 column 1 (char 0)' 이러한 에러가 뜨고 print(resp) 를 해도 Response [401] 이런 에러가 뜹니다. 어디가 잘못된건지 알 수 있을까요?
-
(•́ ✖ •̀)
알 수 없는 사용자
1 답변
-
리퀘스트값을 출력해본 결과 다음과 같이 나옵니다.
{'post': {'id': 값, 'forumId': 값, 'postKey': 값, 'flags': 값, 'title': 값, 'url': 값, 'icon': 값, 'commentCount': 값, 'childCount': 값, 'popularOpened': 값 } }
post 값 안에 commentCount가 존재하기 때문에 post값을 먼저 불러준 다음 commentCount값을 불러와야 합니다.
다음과 같이 시도해보세요.
import requests import json url ='https://comment.daum.net/apis/v1/ui/single/main/@20190728165812603' headers = { 'Authorization': Authorization값 입력, 'Origin': 'https://news.v.daum.net', 'Referer': 'https://news.v.daum.net/v/20190728165812603', 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36' } r = requests.get(url, headers=headers) j = r.json()['post'] print(j) print(j['commentCount'])
댓글 입력