mirror of
https://github.com/NomaDamas/k-skill.git
synced 2026-06-24 02:04:11 +00:00
* feat: 네이버 블로그 리서치 스킬 추가 API 키 없이 python3 표준 라이브러리만으로 네이버 블로그 검색, 원문 읽기, 이미지 다운로드를 수행하는 스킬. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * Restore Naver blog search paging and newest-sort behavior Naver's current blog search surface does not honor the older where=blog + sort query pattern used by this skill. The request now targets the blog tab surface, uses the observed NSO sort controls, and trims each parsed page to the visible 15-result window so count-based pagination returns distinct results. Constraint: Must keep using stdlib-only HTTP scraping without adding dependencies Constraint: Current Naver blog tab behavior requires ssc/tab parameters plus nso sort controls Rejected: Keep where=blog and tune start values only | still returned repeated first-page results Rejected: Leave sort=date as-is | current endpoint ignored it and returned relevance ordering Confidence: medium Scope-risk: narrow Reversibility: clean Directive: Re-verify request params against live Naver markup before changing paging or sort semantics again Tested: python3 -m py_compile on naver-blog-research scripts and new regression test; PYTHONPATH=.:scripts python3 -m unittest scripts.test_naver_blog_search; npm run lint; live naver_search.py --count 20/30 --sort sim; live naver_search.py --count 10/20 --sort date Not-tested: Full npm run test remains blocked by unrelated local pyexpat/libexpat environment failures in patent-search tests * Surface the new Naver blog skill in the main README PR 107 adds the skill and feature guide, but the repository landing page still omitted it from the user-facing capability list. This commit keeps the README aligned with the actual shipped skill set so users can discover the new entry point from the main docs. Constraint: README capability tables and feature lists should stay aligned with docs/features entries Rejected: Leave README unchanged until merge | hides the new skill from the main index during PR review Confidence: high Scope-risk: narrow Reversibility: clean Directive: When adding a new skill guide, update both the summary table and the included-features list together Tested: README diff review; verified docs/features/naver-blog-research.md link target exists Not-tested: Full npm run ci (docs-only change) --------- Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com> Co-authored-by: Jeffrey (Dongkyu) Kim <vkehfdl1@gmail.com>
2.2 KiB
2.2 KiB
네이버 블로그 리서치 가이드
이 기능으로 할 수 있는 일
- 네이버 블로그 키워드 검색 (관련도순/최신순 정렬)
- 블로그 포스트 원문 텍스트 추출
- 블로그 포스트 내 이미지 URL 추출 및 로컬 다운로드
- 구글 검색과 병행한 한국어 콘텐츠 교차 검증 리서치
먼저 필요한 것
python33.8+- 인터넷 연결
- API 키 불필요
입력값
- 검색: 검색어 문자열 (예:
"서울 맛집 추천") - 원문 읽기: 네이버 블로그 포스트 URL (PC 또는 모바일)
- 이미지 다운로드: 이미지 URL 목록 또는
naver_read.py파이프 출력
공식 표면
- 검색:
https://search.naver.com/search.naver?where=blog&query={query} - 블로그 원문 (모바일):
https://m.blog.naver.com/{userId}/{postId} - 이미지 CDN:
blogfiles.naver.net,postfiles.pstatic.net
기본 흐름
naver_search.py로 네이버 블로그 검색 실행- 검색 결과에서 상위 3~5개 포스트 선택
naver_read.py로 선택한 포스트의 원문 읽기- 필요 시
naver_download_images.py로 이미지 로컬 저장 - 구글 검색(WebSearch) 결과와 교차 검증하여 정보 신뢰도 확보
예시
블로그 검색:
python3 scripts/naver_search.py "제주도 여행 코스" --count 5 --sort sim
블로그 원문 읽기:
python3 scripts/naver_read.py "https://blog.naver.com/user123/224212849946"
이미지 다운로드:
python3 scripts/naver_read.py "https://blog.naver.com/user123/224212849946" \
| python3 scripts/naver_download_images.py --output ./images/ --max 5
주의 사항
- 네이버 검색엔진에 직접 요청하므로 대량 자동화 시 IP 차단 가능성이 있다. 한 세션에 과도한 요청을 자제한다.
- 이 스킬은 소량·비상업적 콘텐츠 리서치 용도로 설계되었다.
- 네이버 HTML 구조 변경 시 파싱이 실패할 수 있다. 에러 발생 시 스크립트 업데이트가 필요하다.
- PC 버전(
blog.naver.com)은 iframe 구조여서 모바일 버전(m.blog.naver.com)을 사용한다. - 블로그 출처(URL, 작성자)를 사용자에게 반드시 함께 안내한다.