본문으로 바로가기
728x90

소개

 

지난 포스팅에 이어서 기사와 댓글을 맵핑해야겠죠.

 

팁으로, 다음과 같이 검색창을 활용하는 것에 대해 알아보겠습니다.

 

 

 

이어서

 

댓글 데이터를 제공해주는 API URL 을 보면 해당 부분이 ID 인 것을 직감할 수 있는데요.

 

 

 

이 ID 값을 검색하는 것입니다.

 

 

 

뉴스 기사의 ID 와 댓글의 ID 를 맵핑해주는 API 는 다음 URL 인 것을 볼 수 있습니다.

 

 

 

요청을 해보면 다음과 같이 401 코드가 뜨는데요.

 

 

 

401 코드는 인증 오류를 나타냅니다.

 

https://developer.mozilla.org/ko/docs/Web/HTTP/Status/401

 

 

Request Headers 에 보면 Authorization 라는 키 값을 찾을 수 있습니다.

보고있는 페이지는 클라이언트의 브라우저를 통해서 인증을 받는 것이구요.

파이썬 코드는 브라우저처럼 자동으로 해주지 않습니다. 추가해주어야 합니다.

 

 

 

두번에 걸쳐 요청을 하는 것을 보실 수 있습니다.

수집하려는 댓글 수는 url 에 limit 과 같은 파라미터를 조정하면서 해보시면 될 것 같구요.

import requests
from bs4 import BeautifulSoup as bs

headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.105 Safari/537.36'}
url = 'https://comment.daum.net/apis/v1/posts/@20200808222940331'

headers.update({
    'Authorization': 'Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJmb3J1bV9rZXkiOiJuZXdzIiwiZ3JhbnRfdHlwZSI6ImFsZXhfY3JlZGVudGlhbHMiLCJzY29wZSI6W10sImV4cCI6MTU5Njk5ODY5OSwiYXV0aG9yaXRpZXMiOlsiUk9MRV9DTElFTlQiXSwianRpIjoiZDg3OThiMWItZWI5YS00YjQwLThkNDktMjEwNDEyOThlNjM0IiwiZm9ydW1faWQiOi05OSwiY2xpZW50X2lkIjoiMjZCWEF2S255NVdGNVowOWxyNWs3N1k4In0.WX8VzBBDUVU9zRw3t7f1J_XK5AeNKT16iFvuDEPxs2A'
})
res = requests.get(url, headers=headers)

if res.status_code == 200:
    json_data = res.json()
    print(f'id : {json_data["id"]}')
    print(f'title : {json_data["title"]}')
    url = 'https://comment.daum.net/apis/v1/posts/{}/comments?parentId=0&offset=0&limit=3&sort=LATEST&isInitial=false&hasNext=true'
    res = requests.get(url.format(json_data['id']))
    json_data = res.json()
    for d in json_data:
        print(d['content']) 
else:
    print(res)
id : 147107576
title : 수도권에 강한 비 내린다..호우주의보→경보 격상
나라탓 대통령탓  하지마세요
하늘에서 내린 재해입니다
남을  탓하기 전에   내 잘못은  없습니까?
수재민 모두에게 용기를 주십시요
희망을  버리지 마십시요
다시 딛고 일어서서  이 어려움을
이겨내시기를 기원합니다
또 500mm라고 겁주네
벌써 590×4번=2000mm가 수도권 어디에 왔는지
이러니 개상청.구라청이지
아니면 말고냐?.?

 

 

주의사항

 

확인해보니 인증키는 시간 간격으로 변경되는데요. (어제 저장해둔 인증키로 안되었음)

키가 동작하면 예전 기사에도 접근이 가능하니까, 크롤링하실 때 확인해서 복붙 하셔야 될것 같습니다.

url = 'https://comment.daum.net/apis/v1/posts/@20190711090407067'
id : 132976292
title : '이효리 효과'에 우는 용눈이오름
제발 좀작작좀해라
제주참여환경연대 기억해야겠네.
아무 관계없는 사람 불러다가 글로 사람 조지는 양아치같은 단체라고.
이효리는 왜? 관광객이 몰리는데 뒷짐지고 있는 제주시가 잘못이잖아