본문 바로가기

python

02/16 response 데이터 처리(문자열 처리)

파이썬에서 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