아래에 링크 된 json의 모든 "작성자"항목을 목록에 저장하려고 시도하고 있지만, Python을 처음 사용하는 사람에게는 매우 새로운 내용입니다. 누군가가 나를 올바른 방향으로 친절하게 안내해 줄 수 있습니까?reddit에서 json 응답을 올바르게 마치는 방법은 무엇입니까?
json으로하십시오 레딧 스레드를 긁어 시도 https://codebeautify.org/jsonviewer/cb0d0a91
: 나는 하위 Reddit에 레딧 게시물에서 URL을 전환하면
import requests
import json
url ="https://www.reddit.com/r/easternshoremd/comments/72u501/going_to_be_in_the_easton_area_for_work_next_week.json"
r = requests.get(url, headers={'User-agent': 'Chrome'})
d = r.json()
scrapedids = []
for child in d['data']['children']:
scrapedids.append(child['data']['author'])
print (scrapedids)
는 다음 작동합니다. 예를 들어, 내가 설정 한 경우
나는이 문제가 json의 디렉토리/트리 (그것이 무엇이든간에)에 대한 이해가 부족하다고 생각합니다. 나는 몇 시간 동안 끊어져 있었고 어떤 도움을 주셔서 감사합니다.
오류 :역 추적 (마지막으로 가장 최근 통화) : 파일 "/home/usr/PycharmProjects/untitled/delete.py", 라인 (14), 에서 D에서 아이 [ '데이터'] [ 'children'] : TypeError : 목록 색인은 str이 아닌 정수 또는 조각이어야합니다.
'd'는리스트이거나'd [ 'data']'는리스트입니다. print (d)를 추가하고 d가 생성 된 위치 아래에 print (d [ 'data'])를 추가하여 어느 것을 찾을 수 있습니다. – jmetz
json을 보면, 기본 json 개체가 목록이고, '데이터'가 첫 번째 항목에 있음을 알 수 있습니다. 그래서 당신은 단지 [0] betwen child와 [ 'data']를 추가 할 수 있습니다. – MegaIng