네이버 검색어

In [1]:
import requests
from bs4 import BeautifulSoup
In [3]:
html=requests.get('http://naver.com').text
soup=BeautifulSoup(html,'html.parser')
In [5]:
tag_list=soup.select('.PM_CL_realtimeKeyword_rolling .ah_item .ah_k')
In [6]:
tag_list
Out[6]:
[<span class="ah_k">곽정은</span>,
 <span class="ah_k">강경화</span>,
 <span class="ah_k">캐릭터 커뮤니티</span>,
 <span class="ah_k">인천여아살인사건</span>,
 <span class="ah_k">노회찬</span>,
 <span class="ah_k">장미인애</span>,
 <span class="ah_k">런닝맨</span>,
 <span class="ah_k">윤손하</span>,
 <span class="ah_k">서세원</span>,
 <span class="ah_k">워너원</span>,
 <span class="ah_k">나혜미</span>,
 <span class="ah_k">지아이제인</span>,
 <span class="ah_k">안경환 아들</span>,
 <span class="ah_k">영화</span>,
 <span class="ah_k">내딸의남자들</span>,
 <span class="ah_k">베트남</span>,
 <span class="ah_k">수요미식회 스테이크</span>,
 <span class="ah_k">연애 플레이 리스트</span>,
 <span class="ah_k">ebs중학</span>,
 <span class="ah_k">셜록홈즈 그림자게임</span>]
In [7]:
for idx, tag in enumerate(tag_list,1): #시작을 1로 한다.
    print(idx,tag.text)
1 곽정은
2 강경화
3 캐릭터 커뮤니티
4 인천여아살인사건
5 노회찬
6 장미인애
7 런닝맨
8 윤손하
9 서세원
10 워너원
11 나혜미
12 지아이제인
13 안경환 아들
14 영화
15 내딸의남자들
16 베트남
17 수요미식회 스테이크
18 연애 플레이 리스트
19 ebs중학
20 셜록홈즈 그림자게임

네이버 블로그 검색

In [17]:
#url="https://search.naver.com/search.naver?where=post&sm=tab_pge&query=askdjango&st=sim&date_option=0&date_from=&date_to=&dup_remove=1&post_blogurl=&post_blogurl_without=&srchby=all&nso=&ie=utf8&start=1"
from collections import OrderedDict # 순서가 있는 사전
from itertools import count # 무한히 카운트하는 것


def naver_blog_search(q,max_page=None):
    #url="https://search.naver.com/search.naver?where=post&query=askdjango&start=1"
    url="https://search.naver.com/search.naver"
    
    post_dict=OrderedDict()
    
    for page in count(1): #1페이지 부터 시작
        params={
        "where":"post",
        "query":"askdjango",
        "start":(page-1)*10+1,    
        }
        html=requests.get(url,params=params).text
        soup=BeautifulSoup(html,'html.parser')
        for tag in soup.select('.sh_blog_title'):
            if tag['href'] in post_dict:
                return post_dict
            
            post_dict[tag['href']]=tag.text
            
        if max_page and (page >= max_page):
            break
            
        return post_dict

    
In [18]:
naver_blog_search('AskDjango',3)
Out[18]:
OrderedDict([('http://myjorney.tistory.com/26',
              'Askdjango) 파이썬 기본문법 정리 18) 파이썬 클래스...'),
             ('http://myjorney.tistory.com/2',
              'Askdjango) 파이썬 기본문법 정리)2.파이썬의 기본...'),
             ('http://myjorney.tistory.com/4',
              'Askdjango) 파이썬 기본문법 정리3)python 파이썬 들여쓰기...'),
             ('http://myjorney.tistory.com/23',
              'Askdjango) 파이썬 기본문법 정리 17) 파이썬 file...'),
             ('http://myjorney.tistory.com/1',
              'Askdjango) 파이썬 기본문법 정리1_파이썬의 코드 실행방법...'),
             ('http://myjorney.tistory.com/21',
              'Askdjango) 파이썬 기본문법 정리 16) 파이썬 인코딩...'),
             ('http://the7mincheol.blog.me/220947602901',
              '2017.03 멜론 노래 검색기 (출처: askdjango)'),
             ('http://myjorney.tistory.com/15',
              'Askdjango) 파이썬 기본문법 정리 12) 파이썬 빌트인함수...'),
             ('http://the7mincheol.blog.me/220940162131',
              '2017.02 네이버 맞춤법 검사기 (출처: askdjango)'),
             ('http://myjorney.tistory.com/28',
              'Askdjango) 파이썬 기본문법 정리 19) 파이썬 호출...')])
In [ ]: