파이썬에서 request로 받아온 json 데이터 처리에서 많이 애를 먹었다
res=requests.get(url)
으로 받아오 response json데이터의 형식이
{
{
"resultCode":"0",
"fromNo":"1",
"nextFromNo":"2",
"listCount":"20",
"totalCount":"1368",
"emptyList":"false",
"formatedTotalCount":"1,368",
"html":"<ul class=\"lst_feed\">\n<li class=\"_cds check_visible\" paramName=\"fromNo\" cursor=\"1\" volumeNo=\"36882390\" id=\"feed_element_36882390\">\n<div class=\"inner_feed_box\">\n<div class=\"feed_head\">\n<div class=\"feed_info_area\">\n
<div class=\"writer_area\">\n<\/div>\n\n<div class=\"info_post\">\n
<time class=\"date_post\">\n2023.11.14. <\/time>\n<span class=\"view_post\">73 읽음<\/span>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"feed_body \">\n
<div class=\"text_area\">\n<a href=\"/my/series/detail.naver?memberNo=11419287&seriesNo=722880\" class=\"series_title\"\nonclick=\"mug.common.nclick(this, \'.series\', \'\', \'\', window[\'g_nclick_prefix\']);\">\n
<div class=\"ell\">\n<i class=\"ico_label\">시리즈<\/i>
....
}
이러한 형태였는데
"html" 값을 빼와서 Beautifulsoup에 넘기려할때 '\'을 처리하지 못해서
soup=BeautifulSoup(dictData['html'],"html.parser")
RecursionError: maximum recursion depth exceeded while calling a Python object
가 발생 했다 그래서 'html.parser'를 " html5lib'로 바꿔보았다
그랬더니 '\'을 처리하지 못해서
posts=soup.select('div[class*="inner_feed_box"]')
가 아무것도 없었다
그래서
htmlStr=dictData['html'].replace('\\','')
을 하여서 쓰레기 데이터를 처리하였더니 잘 해결되었다
이거 때문에 6시간을 해맸다. 진짜 문자열 처리가 제일 짜증난다.......
반응형
'python' 카테고리의 다른 글
MYSQL 백업 (0) | 2024.02.23 |
---|---|
02/19 정리 모듈(halo, schedule) 등 (1) | 2024.02.21 |
02/13~02/15 정리 (0) | 2024.02.15 |
8일차 (1) | 2024.02.09 |
7일차 (0) | 2024.02.07 |