안녕하세요 3구입니다. 오늘의 내용은 네이버의 네비게이션 바 파싱하기입니다.  일단 밑에 사진처럼 메일, 카페, 블로그 ~TV까지 파싱할 예정입니다. 

일단 네이버에 들어가줍니다. 

 

네이버에 들어가서 ctrl + shift + i 를 눌러줍니다. 그러면 저런 형태로 보이게 됩니다.

그런 다음 1번을 클릭해준다음에 마우스를 메일, 카페~ TV에  갖다 놓으면 an_l이라는

문구가 보일 것입니다.

 

 

 

 

지금부터 메일 ~TV만 읽어서 파싱해보겠습니다.

import urllib.request
import bs4

url = "https://www.naver.com/" # 네이버의 url 
html = urllib.request.urlopen(url)  

bs_obj = bs4.BeautifulSoup(html, "html.parser") # 네이버를 읽어 옵니다.
 
ul = bs_obj.find("ul", {"class":"an_l"}) 
lis = ul.findAll("li")

for li in lis:
    a_tag = li.find("a")
    span = a_tag.find("span", {"class" : "an_txt"})
    print(span.text)
    

 

ul = bs_obj.find("ul", {"class":"an_l"})의 내용을 설명 드리겠습니다.

bs_obj(네이버 읽어온 것)에서 find를 이용해 찾습니다. ul을 찾고 classs의 an_l을 찾아서 ul변수라는 값에 저장해줍니다.

 

그런 다음 lis변수라는 값 안에 li의 모든 것(findAll)을 찾습니다.

 

그런 다음 for문을 이용해 출력합니다. 

a_tag = li.find("a")  lis의 부분의 "a"라는 것을 찾고 

span = a_tag.find("span", {"class" :"an_txt"})의 a를 찾았고

span의 class:an_txt를 찾습니다.

 print(span.text)를 이용해 출력합니다.

결과는 다음가 같습니다.

 

이상포스터를 마치겠습니다.

+ Recent posts