Tag Archives: beautifulesoup

[Python] TwitterAPI, beautifulSoup를 활용한 WebScraping & Tweet

요즘 Python을 통한 WebScraping을 공부하고 있는데,

그 일환으로 Twitter 자료와 Web자료를 가져오는 샘플 프로젝트를 만들어 보았다.

네이버의 모 주식 종목토론실의 Top5 제목을 가져와 보도록 하자 (……….대부분욕이겠지만…..)

활용한 Twitter API 는 이거 다.

 

from twitter import *
t=Twitter(auth=OAuth('My Access Token',
                     'My Access Token Secret key',
                     'Comsumer Key',
                     'Consumer Key Secret'
))
# 이렇게 하면 트위터도 가져올 수 있다.
kimTweets = t.search.tweets(q="#김종인")
# 이렇게 하면 상태도 업데이트 할 수 있다.
statusUpdate = t.statuses.update(status="Hello, world")
# urlopen 과 beautifulsoup 라이브러리를 가져온다.
from urllib.request import urlopen
from bs4 import BeautifulSoup
# 가져올 종목게시판 정보
html = urlopen("http://finance.naver.com/item/board.nhn?code=018260")
# bs4 오브젝트로 변환
bsObj = BeautifulSoup(html.read())
# 웹 구조를 보니 이런 테이블안에 종목게시판 제목 정보들이 있었다.
jjirac = bsObj.find('table',{'class':'type2'})
# 그 안에서도 A태그가 있는 것을 모두 찾은다음에, 최상위 5개만 가져오도록 명령을 내렸다.
titles = jjirac.findAll('a')
first = ""
for title in titles[0:5] :
    first+=title['title']+'\n'
# 태그도 달아주자
first=first+"#test"
# 상태 업데이트
statusUpdate = t.statuses.update(status=first)
# 업데이트 된 내용 확인 짜잔
print(statusUpdate)

이런 API를 적절히 활용한다면, Python으로 Tweet Bot 도 만들어 볼 수 있을 것이다.
한번 다음시간에는 twitter bot을 만들어 보도록 하겠다.

[Python] 파이썬으로 웹페이지 정보 가져오기

Python으로 웹 정보를 Scraping 해오는 예제를 한번 만들어보자.

웹정보를 가져와서 그냥 프린트 해버리면 다닥 다닥 붙어서 이쁘게 보이질 않는다.

html의 포맷팅을 하기 위해서 BeautifulSoup 라이브러리를 설치했다.

이 라이브러리는 텍스트 형식으로 가져온 웹페이지 정보를 Formatting 해서 보여줄 뿐 만 아니라,

내부의 태그 속성도 쉽게 접근 할 수 있게 해준다.

from urllib.request import urlopen
from bs4 import BeautifulSoup
html = urlopen("http://www.naver.com")
bsObj = BeautifulSoup(html.read())
print(bsObj)

을 실행해보면, naver 페이지의 html 정보를 모두 가져온다.

print(bsObj.a)

beautifulsoup 라이브러리를 사용하면, 위와 같은 방법으로 , 특정 태그만 가져올 수 있다!

 

결과

<a href="#news_cast2" onclick="document.getElementById('news_cast2').tabIndex = -1;document.getElementById('news_cast2').focus();return false;"><span>뉴스스탠드 바로가기</span></a>