Dolphins의 HelloWorld
urllib 와 Beautiful soup 본문
urllib -> 연결 만들기, GET요청 전송, 새로운 줄 전송, 데이터 받기 등등을 모두 처리
먼저 라이브러리를 import 해주어야한다.
import urllib.request, urllib.parse, urllib.error
그리고 아래 코드와 같이 홈페이지 주소를 넣고 명령어를 입력하면
그 홈페이지의 내용이 출력되는 모습을 볼 수 있다.
import urllib.request, urllib.parse, urllib.error handle = urllib.request.urlopen('http://www.daum.net') for line in handle: print(line.decode().strip())
그리고 이렇게 얻은 정보에서 우리가 흔히 사용하는 dictionary를 통해 문자열을 처리하는
코드를 사용하면 어떤 단어가 몇번 나왔는지에 대한 정보도 얻을 수 있다.
예를들어서 다음과 같이 코드를 작성하는 것이다.
import urllib.request, urllib.parse, urllib.error handle = urllib.request.urlopen('http://dolphins-it.tistory.com/13?category=771381') counts = dict() for line in handle: words = line.decode().split() for word in words: counts[word] = counts.get(word,0) + 1 print(counts)
위에 있는 코드를 직접 실행해 보았다면 알겠지만 웹 페이지 문서를 출력하도록 하면
<a> 나 <href>와 같은 html문법까지 모두 출력되는 것을 알 수 있다.
html을 쉽게 다루기 위해 사용할 수 있는것이 Beautiful Soup이다.
Beautiful Soup는 웹페이지에서 일어나는 다양한 문제들에 대한 해결책을 제시한다.
https://cryptosan.github.io/pythondocuments/documents/beautifulsoup4/
위의 사이트를 통해 beautiful Soup의 정보와 사용 방법을 확인할 수 있다.
사용법을 확인해 보면서 실험해본 코드이다.
import urllib.request, urllib.parse, urllib.error from bs4 import BeautifulSoup html = urllib.request.urlopen('http://www.uos.ac.kr/main.do').read() soup = BeautifulSoup(html) #print(soup.prettify()) #보기좋은 html 문서로 출력 #텍스트만 뽑아보자. #print(soup.get_text()) # 태그에 존재하는 모든 URL을 뽑아보자. for link in soup.find_all('a'): print(link.get('href'))
'python > python 심화' 카테고리의 다른 글
lambda, map reduce (0) | 2018.07.10 |
---|---|
Enumerate,Zip (0) | 2018.07.10 |
Split, Join, List comprehensions (0) | 2018.07.10 |
Python의 문자표현 (0) | 2018.07.09 |
Comments