일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 깃
- windows
- git
- 비주얼베이직
- VBA
- pyqt5
- 윈도우11
- office
- 엑셀
- 안드로이드
- Excel
- 아웃룩
- Windows10
- 파워포인트
- 윈도우10
- win32com
- pandas
- Outlook
- 문자열
- Windows11
- 파이썬
- python3
- 오피스
- 파이썬3
- matlab
- Android
- pythongui
- html
- 파이썬GUI
- python
Appia의 IT세상
파이썬[Python] 원하는 텍스트의 네이버 통합 검색 결과 제목 출력하기 본문
파이썬[Python] 원하는 텍스트의 네이버 통합 검색 결과 제목 출력하기
이번 포스팅은 웹 크롤링을 하면서, 한번쯤 해볼만한 네이버 검색 결과에 대해서 추출하는 방법에 대해서 간단히 이야기를 해볼까 합니다. 먼저, "테스트"라는 단어를 바탕으로 진행을 해볼까 합니다. 먼저, 검색에 대한 결과를 활용하기 위해서, 검색이 입력되어 있을 경우, 관련해서 웹페이지 주소의 변화를 살펴봤습니다.
그리고 페이지 하단 쪽으로 들어가서, 페이지를 변경하면서 웹페이지 주소의 변화를 살펴봤습니다.
그랬더니, 다음과 같은 약간의 규칙성을 찾을 수 있었습니다. 즉, 앞 부분에서는 검색 결과의 페이지, 그리고 파란색 부분은 "테스트"라는 단어, 그리고 마지막 보이는 부분은 검색 결과물의 객체 시작 번호입니다.
이 부분을 바탕으로 다음과 같이 다음과 같이 코드를 작성하였습니다.
import requests
from bs4 import BeautifulSoup
def print_title(address, query):
for i in range(2,10):
startvalue = 15* i -29
addr= address + str(i) +'&query='+query+'&research_url=&sm=tab_pge&start='+str(startvalue)+'&where=web'
res = requests.get(addr)
soup = BeautifulSoup(res.content, 'html.parser')
items = soup.select('.link_tit')
for item in items:
print(item.text)
if __name__ == '__main__':
baseaddress = 'https://search.naver.com/search.naver?display=15&f=&filetype=0&page='
query = '테스트'
for i in range(1,35):
print_title(baseaddress, query)
여기에서 페이지를 정상적으로 읽어오기 위해서 다음과 같은 부분을 기본 주소로 삼았습니다.
https://search.naver.com/search.naver?display=15&f=&filetype=0&page= |
이 부분을 바탕으로 추가로 받을 인자값과 다음 부분을 결합하여 추출하고자 하는 페이지를 파싱합니다.
'&query='+query+'&research_url=&sm=tab_pge&start='+str(startvalue)+'&where=web' |
위의 코드를 결과를 보면 다음과 같은 결과가 나타납니다.
에고그램 성격유형 테스트 - 인적성 무료검사
테스트 - 나무위키
심리테스트 심콩! - 심심할땐 심콩해! 재미있는 심리테스트!
[심리테스트] 자존감 테스트 - 심콩 - 무료 심리테스트
취향 분석 테스트 - 케이테스트
테스트 | TOAST UI :: Make Your Web Delicious!
정신연령 테스트
무료 심리테스트 - 싸이코패스 심리 테스트
한복BTI hanbokBTI-케이테스트
목록>테스트 > 랜선 가족메이커 > 행사>국립부산과학관
무료 심리테스트
무료 심리테스트
...<중간 생략>
세상의모든테스트-세모테
성격유형 테스트 - 테스트하로
2021 우정 테스트
에고그램 성격유형 테스트 - 인적성 무료검사
테스트 - 나무위키
...<중간 생략>
이와 같은 방법으로 네이버 통합검색 결과의 각 항목의 제목을 추출할 수 있습니다.
[파이썬 크롤링]네이버 스포츠 추천 뉴스 크롤링 하여 제목과 링크주소출력하기 (bs4, requests)
이번 포스팅은 파이썬[Python] 원하는 텍스트의 네이버 통합 검색 결과 제목 출력하기라는 주제로 간단히 포스팅을 해봤습니다. 실제로 이 부분을 바탕으로 다양한 방법으로 사용할 수 있습니다. 많은 사람들이 아시다시피, 악의적인 크롤링은 처벌의 대상이 될 수 있습니다. 크롤링에 대한 결과는 사용자 본인에게 책임이 있다는 부분을 인지하시길 바랍니다.
'Python > Python Crawler[크롤러]' 카테고리의 다른 글
[파이썬 크롤링]네이버 뉴스 검색결과 출력하기 (1) | 2021.10.17 |
---|---|
[파이썬 크롤링]네이버 주식 시가 총액 코스피,코스닥 항목 주식번호 확인하기 (0) | 2021.10.15 |
[파이썬 크롤링] 네이버 금융 환전고시 환율 정보 출력하는 방법 (2) | 2021.10.07 |
[파이썬 크롤링] Beautiful Soup에서 #document 부분에 대해서 크롤링 하는 방법 (4) | 2021.10.06 |
[파이썬 크롤링]CSS Selector 사용하기 (0) | 2021.10.05 |