아무거나 만들어 봄/제목으로 장르 분류하기

지금까지는 여러 소설 사이트에서 소설 제목, 작가 이름, 소개글, 장르를 가지고 왔다. 현재까지 내가 가지고온 소설 사이트들은 카카오 페이지 카카오페이지 네이버 시리즈 네이버 시리즈 문피아 문피아 노벨피아 노벨피아 이렇게 4가지가 있다. 노벨피아는 기본적으로 f12를 막아놨기 때문에 따로 글을 작성하지 않았다. 카카오 또한 기존의 방식에서 다른 방식으로 크롤링하여 4만개의 데이터를 모두 모았다. 총 데이터는 159,596개다. 이제 이 데이터들을 가지고 본격적으로 장르 분류기를 만들어보려고 한다. 데이터 전처리 데이터 모으기 csv 파일 가져오기 각 파일에서 제목과, 작가이름만 가져오기 제목에서 필요한 부분만 가져오기(특수문자 및 필요없는 단어 제거) for t_list, g_list in zip(tit..
이제 카카오, 네이버, 문피아의 크롤링이 끝났다. 이제 노벨피아 차례인데, 노벨피아는 특이하게 다른 사이트들과 다르게 f12를 막아놨다. 저작권을 위해, 크롤링을 막아놓은 샘인데, 이게 나에겐 큰 난관으로 다가왔다. 이걸 뚫을 방법이 없나 하고 돌아다니며 찾아봤는데, 딱히 방법이 보이지 않았다. 하지만 집념의 힘으로 어떻게 뚫어내는데 성공했다! 일단 막아놓은걸 뚫었다고 쓰기에는 사이트에서 말 한데로 저작권 등 여러 문제가 있기 때문에 자세한 방법은 올리지 않겠다. 일단 긁을 수 있는건 다 긁은거 같다. 소개글도 긁을 수 있긴 한데 너무 오래걸릴거 같아서 패스했다.
현재까지 카카오페이지, 네이버 소설 목록을 크롤링 했다. 이제 문피아를 크롤링 할 차례다. (사실 크롤링은 1주일 전 쯤 다 끝냈는데 이것 저것 한답시고 글 쓰는게 좀 늦어졌다.) 먼저 문피아 홈페이지를 살펴보자 문피아는 다른 사이트 들과 다르게 전체 소설 목록 보는게 힘들게 되어있다. 이런 식으로 왼쪽에 왼쪽에 페이지 목록, 소설 목록이 모여있다. 여기서도 마찬가지로 두 단계로 나눠서 했다. 페이지 별(작가 연재, 일반 연재, 무료 연재, 선 독점작, 연재작, 완결작) 이상 총 6개의 페이지에 들어간다. 각 페이지의 끝 페이지 번호를 알아낸다. BeautifulSoup을 통해 크롤링 한다. 그리고 이번에는 더욱 빠른 크롤링을 위해 Multiprocessing을 이용할 예정이다. 관련 내용은 Beauti..
이전까지는 카카오 페이지의 소설 정보들을 크롤링했다. 데이터 프레임까지 다 만들었으니 이제는 네이버 소설을 크롤링할 차례다. 먼저 네이버 시리즈 각 카테고리의 링크들을 가져오자 # 네이버 소설 크롤링 본문 url_list = { '로맨스': 'https://series.naver.com/novel/categoryProductList.series?categoryTypeCode=genre&genreCode=201&page=', # 로맨스 '로판': 'https://series.naver.com/novel/categoryProductList.series?categoryTypeCode=genre&genreCode=207&page=', # 로판 '판타지': 'https://series.naver.com/novel..
지난번에 파일로 저장한 링크를 불러와 하나씩 가져와 데이터를 만드는 코드를 작성했다. # 제목 start = source.index('title":"') end = source.index('","o') title = source[start+8:end-6] novel_title.append(title) # 작가 start = source.index('author":"') end = source.index('},"i') author = source[start+9:end-1] novel_author.append(author) # 소개글 start = source.index('n":"') end = source.index('","u') intro = source[start+4:end] novel_intro.ap..
이전에 소설 링크를 가져와서 파일로 저장한 후, 하나씩 뽑아 셀레니움을 통해 정보를 가져오는 방식을 사용했다. 하지만 이 방식의 문제점은 15세 이상 이용가는 로그인을 해야하기 때문에 내가 크롤링한 소설 페이지중 일부만(특히 로맨스) 정보를 가져올 수 있었다. 로그인을 하지 않고 크롤링을 할 수 있는 방법이 있나 하고 생각을 해봤고, 생각난 방법이 requests를 사용하는 것이다. requests.get(url)를 사용하면 html 전체 소스 페이지를 가져오기 때문에 페이지를 이동하며 크롤링하는 셀레니움보다 훨씬 빠르고, 없으면 없었지 셀레니움처럼 로딩때문에 태그를 찾지 못하는 NoSuchElementException와 같은 오류도 뜨지 않는다. 그리고 requests.get으로 페이지 내용을 가져와보..
장르 자동 분류기 만들기 소설 정보 크롤링 먼저 글쓰기에 앞서, 이 프로젝트는 순전히 개인 사용용도로 크롤링 하는 것을 알립니다. 상업용도 및 유출은 하지 않습니다. (여러분들도 조심하세요) 카카오 페이지 카카오페이지에 가면 이렇게 장르별로 분류가 되어있는데 원래 계획은 전체에서 한 번에 긁어와 분류를 하려고 했지만, 일정 이상 스크롤을 내리면 페이지가 다운되는 문제가 발생했습니다. 그래서 장르별로 크롤링해서 합치기로 했다. (판타지만 해도 8천개에 가깝고, 로판은 18000개가 넘는다. ㄷㄷ 로판은 너무 많아서 스크롤을 끝까지 내릴수가 없어서 중간에 8천개 언저리에서 끊었다.) 순서는 이렇다. 스크롤을 끝까지 내린다. 해당 페이지를 가져온다. 해당 페이지에서 소설 링크를 가져온다. 파일로 저장한다. 파..
영어 공부좀 하려고 이지라이팅을 샀는데 ebook이 처음인지라 pdf로 안나오는걸 몰랐다. 처음에는 그냥 안되네? 하고 뷰어를 설치해서 뷰어로 공부하려고 했으나... 쓰레기다. 진짜 쓰레기다. 마법처럼 공부 의욕을 잠재운다. 그래서 pdf화 하는 방법을 찾아봤다. 일단 다운로드 목록을 보니 어? pdf가 있네? 하고 열었는데 역시 안열린다. 이것 저것 찾아보니 drm으로 보호되어있다고 한다. 그럼 몇 몇 작업을 해야하는데 그건 너무 힘들다. 그리고 좀 더 찾아봤는데 pdf를 캡쳐해서 하는 방법을 주로 많이 쓰는거 같다. 내가 볼때는 크게 두가지였는데, 하나는 아이패드로 하나하나 캡쳐하는 것이고 다른 하나는 오토캡쳐로 하는 방법이다. 그래서 나도 오토캡쳐(사실상 오토마우스)를 통해 찍었다. https://..
샐프
'아무거나 만들어 봄/제목으로 장르 분류하기' 카테고리의 글 목록