테스트 사이트 - 개발 중인 베타 버전입니다

나무위키 파싱 가능한가요 채택완료

기호0번 3년 전 조회 2,190

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

댓글을 작성하려면 로그인이 필요합니다.

답변 2개

채택된 답변
+20 포인트
I
3년 전

안녕하세요? ^^

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

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

 

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

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

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

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

 

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

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

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

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

</p>

<p>def parse_namu(soup):</p>

<p>    try:</p>

<p>        data = soup.body.find(text='출생').parent.parent.parent.nextSibling.text</p>

<p>    except:</p>

<p>        try:</p>

<p>            data = soup.body.find(text='출생').parent.parent.parent.parent.nextSibling.text</p>

<p>        except:</p>

<p>            data = None</p>

<p>    return data</p>

<p>

 

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

로그인 후 평가할 수 있습니다

답변에 대한 댓글 2개

기호0번
3년 전
감사합니다
I
Innisfree
3년 전
답변 채택해주셔서 감사합니다! ^-^

댓글을 작성하려면 로그인이 필요합니다.

3년 전

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 요청 주소를 알아내어 쿼리 하시거나, 헤드리스 크롬등을 활용하여 파싱하셔야 합니다

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

기호0번
3년 전
감사합니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인