나무위키 파싱 가능한가요

나무위키 파싱 가능한가요

QA

나무위키 파싱 가능한가요

답변 2

본문

나무위키 파싱 안되는데 가능한가요 비법 알려주세요

이 질문에 댓글 쓰기 :

답변 2

안녕하세요? ^^

볼피드 님 말씀처럼 나무위키는 dump 파일을 제공하기 때문에

가능하면 크롤링보다는 위 파일을 활용하는 방법을 택하는 것이 바람직합니다.

 

굳이 크롤링을 해야 된다면 우선 클라우드 플레어를 우회하여야 합니다.

Python의 경우 cloudscraper 모듈을 활용할 수 있고,

Selenium으로 우회할 수도 있습니다.

참고 : https://studyforus.com/innisfree/647489

 

그리고 SPA로 이루어진 페이지이기 때문에 엘레멘트에 접근하는 것이 용이하지 않습니다.

제가 예전에 테스트 용도로 작성한 스크립트인데

특정 인물의 웹페이지에 접근한 상태에서 출생일자를 크롤링하는 함수입니다.

필요로 하시는 목적에 아래 스크립트를 활용하시면 될 것 같네요 ^^


def parse_namu(soup):
    try:
        data = soup.body.find(text='출생').parent.parent.parent.nextSibling.text
    except:
        try:
            data = soup.body.find(text='출생').parent.parent.parent.parent.nextSibling.text
        except:
            data = None
    return data

 

그럼 크롤링 화이팅하시고 남은 연휴 즐겁게 보내세요 ^-^

https://namu.wiki/w/%EB%82%98%EB%AC%B4%EC%9C%84%ED%82%A4:%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B2%A0%EC%9D%B4%EC%8A%A4%20%EB%8D%A4%ED%94%84

나무위키는 기본적으로 db데이터를 받을 수 있는 링크를 제공하고 있습니다
그리고 크롤링을 꼭 해야한다면 SPA로 이루어진 페이지기 때문에 개발자모드에서 해당 api 요청 주소를 알아내어 쿼리 하시거나, 헤드리스 크롬등을 활용하여 파싱하셔야 합니다

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 149
© SIRSOFT
현재 페이지 제일 처음으로