6 글 보임 - 1 에서 6 까지 (총 6 중에서)
-
글쓴이글
-
2023년 10월 2일 09:51 #99708
문정현참가자범위 = [1,31,61,91] f = open('apple.txt', 'w+') for i in 범위: --data = requests.get(f'https://s.search.naver.com/p/review/45/search.naver?where=view&api_type=11&start={i}&query=사과&nso=&nqx_theme=%7B%22theme%22%3A%7B%22main%22%3A%7B%22name%22%3A%22food_ingredient%22%7D%7D%7D&main_q=&mode=normal&q_material=&ac=1&aq=0&spq=0&st_coll=&topic_r_cat=&nx_search_query=&nx_and_query=&nx_sub_query=&prank=31&sm=tab_jum&ssc=tab.view.view&ngn_country=KR&lgl_rcode=03170131&fgn_region=&fgn_city=&lgl_lat=35.1561&lgl_long=128.1033&abt=&_callback=viewMoreContents') --soup = BeautifulSoup(data.text.replace('\\', '') , 'html.parser') --글리스트 = soup.select('a.api_txt_lines') --for ii in 글리스트: ----if len(f.readlines()) > 100: ------break ----else : ------f.write(ii.text + '\n') f.close() 안녕하세요. 위와 같이 코딩을 해서 apple.txt에 블로그 글 제목 120개까지 작성하는데는 성공했습니다. 그래서 100개까지만 딱 만들고 싶어서 ----if len(f.readlines()) > 100: ------break ----else : ------f.write(ii.text + '\n') 와 같이 코드를 짜 100개가 넘으면 그만 두게 하려고 했는데요. 그만두지 않고 120개 모두를 작성하더라구요. 그래서 len(f.readlines())를 확인해보니깐 0으로 나오고, f.readlines()를 입력하면 반환되는 리스트에는 아무것도 없는 빈 리스트([])만 있었습니다. 100개만 만들기 위해서는 어떻게 해야 하나요,,.? f.readlines()는 왜 빈 리스트로 나올까요>>?
2023년 10월 3일 09:51 #99799
codingapple키 마스터https://pynative.com/python-count-number-of-lines-in-file/ for 반복문돌려서 줄갯수세어봅시다
2023년 10월 4일 01:24 #99874
문정현참가자알려주신대로 enumerate()랑 readlines() 사용해서 줄 갯수를 세어보려 했습니다. 근데 제가 원하는 건, for i in 범위: --data = requests.get(f'https://s.search.naver.com/p/review/45/search.naver?where=view&api_type=11&start={i}&query=사과&nso=&nqx_theme=%7B%22theme%22%3A%7B%22main%22%3A%7B%22name%22%3A%22food_ingredient%22%7D%7D%7D&main_q=&mode=normal&q_material=&ac=1&aq=0&spq=0&st_coll=&topic_r_cat=&nx_search_query=&nx_and_query=&nx_sub_query=&prank=31&sm=tab_jum&ssc=tab.view.view&ngn_country=KR&lgl_rcode=03170131&fgn_region=&fgn_city=&lgl_lat=35.1561&lgl_long=128.1033&abt=&_callback=viewMoreContents') --soup = BeautifulSoup(data.text.replace('\\', '') , 'html.parser') --글리스트 = soup.select('a.api_txt_lines') --for ii in 글리스트: ----if len(f.readlines()) > 100: ------break ----else : ------f.write(ii.text + '\n') 위 부분에서 'for ii in 글리스트' 이 반복문 안에 readlines()나 enumerate()를 넣어서 줄 갯수를 세고 싶은데, 저 안에 넣은채로 코드를 실행하면, 계속 줄 갯수가 0으로, 즉 readlines()의 경우엔 빈 리스트로 나오더라구요. 꼭 반복문 바깥에서 달아야 줄 갯수가 제대로 세어집니다. for i in 범위: --data = requests.get(f'https://s.search.naver.com/p/review/45/search.naver?where=view&api_type=11&start={i}&query=사과&nso=&nqx_theme=%7B%22theme%22%3A%7B%22main%22%3A%7B%22name%22%3A%22food_ingredient%22%7D%7D%7D&main_q=&mode=normal&q_material=&ac=1&aq=0&spq=0&st_coll=&topic_r_cat=&nx_search_query=&nx_and_query=&nx_sub_query=&prank=31&sm=tab_jum&ssc=tab.view.view&ngn_country=KR&lgl_rcode=03170131&fgn_region=&fgn_city=&lgl_lat=35.1561&lgl_long=128.1033&abt=&_callback=viewMoreContents') --soup = BeautifulSoup(data.text.replace('\\', '') , 'html.parser') --글리스트 = soup.select('a.api_txt_lines') --for ii in 글리스트: ----f.write('\n' + ii.text) --print(len(f.readlines())) 위 경우처럼 가장 바깥 for 반복문 안에 넣어도 결과가 빈리스트( [] )로 나옵니다. txt 파일에는 제대로 제목들이 작성되는데 왜 결과가 0으로 나오는 것일까요?? 너무 알고싶습니다.........!!!!
2023년 10월 4일 01:46 #99876
문정현참가자범위 = [1,31,61,91] f = open('apple.txt', 'w+') for i in 범위: --data = requests.get(f'https://s.search.naver.com/p/review/45/search.naver?where=view&api_type=11&start={i}&query=사과&nso=&nqx_theme=%7B%22theme%22%3A%7B%22main%22%3A%7B%22name%22%3A%22food_ingredient%22%7D%7D%7D&main_q=&mode=normal&q_material=&ac=1&aq=0&spq=0&st_coll=&topic_r_cat=&nx_search_query=&nx_and_query=&nx_sub_query=&prank=31&sm=tab_jum&ssc=tab.view.view&ngn_country=KR&lgl_rcode=03170131&fgn_region=&fgn_city=&lgl_lat=35.1561&lgl_long=128.1033&abt=&_callback=viewMoreContents') --soup = BeautifulSoup(data.text.replace('\\', '') , 'html.parser') --글리스트 = soup.select('a.api_txt_lines') --for ii in 글리스트: ----f.write(ii.text + '\n') f = open('apple.txt', 'r+') x = f.readlines()[0:100] fp = open('last.txt', 'w+') for i in x: --fp.write(i) fp.close() f.close() 일단 이런식으로 새로운 파일에 기존 파일 내용 100개만 추려서 넣는 방식으로 완성은 했습니다. 하지만, 위에 올려드린 코드에서 간단하게 원래 파일에 100개만 딱 저장할 수 있는 방법이 있는 것 같아 답답한 마음에 질문드렸습니당..
2023년 10월 4일 09:50 #99891
codingapple키 마스터이미 파일을 한 번 읽어서 커서가 파일 맨 끝에 가있어서 그럴걸요 다시 위로 보내려면 파일.seek(0) 같은거 써야합니다
-
글쓴이글
6 글 보임 - 1 에서 6 까지 (총 6 중에서)
- 답변은 로그인 후 가능합니다.