왜 이런 일이 발생했는지 알 수 있기를 바랍니다. 여기서 내가 가진 세 편의 영화는 체계적으로 영화의 JSON 데이터를 모두 얻고 data_fetch.txt라는 별도의 파일로 인쇄하려고합니다. 내가 사용하는 사이트는 omdbapi.com입니다. 모든 영화의 JSON을 성공적으로 가져올 수 있지만, 기묘한 이유 때문에 작성 될 때 모든 항목이 하나의 항목으로 작성됩니다. 따라서 필자가 작성한 파일을 열어 항목 수를 계산할 때 카운터는 3 개의 별도 항목이 있어야 할 때 1 항목 만 뱉어냅니다. 따라서 3 개의 영화 제목에 3 개의 JSON이 있어야합니다. 각 JSON을 자체 항목으로 분리하려는 이유는 JSON에있는 "장르"를 가져 오려고하기 때문입니다. 또한, 나는이이 문제에 연결되어 있는지 확실하지 않습니다,하지만 난이 오류 ValueError를 얻을 파이썬 인터프리터 각 JSON 항목을 인쇄 할 때 : 추가 데이터 :별도의 JSON 항목을 쓰는 데 문제가 있습니다. Python
import urllib2, time, csv, json, re
def get_url(title):
base_url = 'http://www.omdbapi.com/?i=&t='
title_url = str(title)
total_url = base_url + title_url
return total_url
def get_json():
file = open('data_fetch.txt', 'wb')
lst = [['2010', 'Colin Firth', "The King's Speech "], ['2009', 'Jeff Bridges', 'Crazy Heart '], ['2008', 'Sean Penn', 'Milk ']]
for item in lst:
movie = item[2].strip()
if ' ' in movie:
title = movie.replace(' ', '%20')
else:
title = movie
reply = urllib2.urlopen(get_url(title))
html_doc = reply.read()
file.write(html_doc)
print html_doc
time.sleep(5)
file.close()
def counter():
file = open('data_fetch.txt', 'rU')
counter = 0
for entry in file:
counter+=1
return counter
file.close()
print counter() # this only prints 1
def json_data():
file = open('data_fetch.txt', 'rU')
for entry in file:
decoded = json.loads(entry)
print decoded
file.close()
jsond_data() #ValueError: Extra data:
: 여기
를 코드입니다 누군가가 나를 도울 수 있기를 바랍니다. 나는 지난 3 시간 동안 이걸 가지고 놀랐습니다. 파이썬 2.7을 사용하고 있습니다.
업데이트 : data_fetch.txt :
{ "제목": "킹스 스피치", "년": "2010", "정격"여기 내 파일의 내용이다 "R"은 "출시를 ":"25 Dec 2010 ","Runtime ":"118 min ","장르 ":"전기, 연극, 역사 ","감독 ":"Tom Hooper ","작가 ":"David Seidler (시나리오) "배우들": "Colin Firth, Helena Bonham Carter, Derek Jacobi, Robert Portal", "Plot": 영국 대영 제국의 북 조지 6 세 이야기, 즉석 왕좌와 연설 "언어": "영어", "국가": "영국, 미국, 오스트레일리아", "시상식": "수상작 104 점, 또 104 점이 & 개의 추천을 받았습니다." , "포스터": "http://ia.media-imdb.com/images/M/[email protected]@._V1_SX300.jpg", "Metascore": "88", "imdbRat "", "imdbID": "tt1504320", "유형": "영화", "응답": "True"} { "제목": "크레이지 하트", " 2010 년 2 월 5 일 ","런타임 ":"112 분 ","장르 ":"드라마, 음악, 로맨스 ","감독 ":"2009 "," "Scott Cooper", "Writer": "Scott Cooper, Thomas Cobb (소설)", "배우": "Jeff Bridges, James Keane, Anna Felix, Paul Herman", "Plot": "퇴색 한 컨트리 음악 뮤지션이 강제로 "언어": "영어, 스페인어", "국가": "미국", "수상 경력": "2 Oscars를 수상했습니다. 또 다른 35 승 & 18 후보작. ","포스터 ":"http://ia.media-imdb.com/images/M/[email protected]@._V1_SX300.jpg ","Metascore ":"83 ","imdbRating ":"7.3 ","imdbVotes ":"55,547 ","imdbID ":"tt1263670 " 유형 ":"영화 ","응답 ":"True "} {"제목 ":"우유 ","연도 ":"2008 ","등급 ":"R ","출시 ":"2009 년 1 월 30 일 " "런타임": "128 분", "장르": "전기, 연극, 역사", "감독": "거스 반 산트", "작가": "더스틴 랜스 블랙", "배우": "Sean Penn, Emile Hirsch, Josh Brolin, Diego Luna ","Plot ": Harvey Milk의 이야기, 그리고 동성애자의 권리를 위해 싸우고 미국 최초의 공개적으로 게이 인 선출 된 공식이 된 미국 게이 운동가로서의 그의 투쟁.", "언어": "영어 ","Country ":"USA ","Awards ":"2 Oscars를 획득했습니다. 또 다른 62 승 & 95 후보작. ","포스터 ":"http://ia.media-imdb.com/images/M/[email protected]@._V1_SX300.jpg ","Metascore ":"84 ","imdbRating ":"7.7 ","imdbVotes ":"114,699 ","imdbID ":"tt1013753 " 입력 ":"영화 ","응답 ":":
file.write(html_doc + '\n')
으로 true "}
당신이 'data_fetch.txt'파일 – Powertieke
'파일'의 내용을 게시 할 수는 내장 FUNC 데이터 형식 - 위의 'f'또는 'data_file'또는 다른 것으로 변경하는 것이 좋을 것입니다 ... – slushy
방금 data_file로 파일을 변경했으며 동일한 문제가 발생합니다.나는 하나의 엔트리 만 출력하고있다. –