Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
Tags
- ubuntu
- 다이어트
- 라즈베리파이
- urllib
- PyQt5
- mssql
- ASP
- javascript
- 함수
- port
- GIT
- pandas
- python
- Unity
- 리눅스
- PER
- Excel
- 날짜
- PyQt
- node.js
- sqlite
- tensorflow
- 맛집
- 유니티
- MS-SQL
- flutter
- MySQL
- Linux
- swift
- IOS
Archives
아미(아름다운미소)
[BeautifulSoup]웹에서 정보 가져오기 본문
Python에는 requests라는 유명한 http request 라이브러리가 있습니다.
설치하기(pip로 간단하게 설치가 가능합니다.)
즉 Python이 이해하는 객체 구조로 만들어주지는 못합니다.
위에서 req.text는 python의 문자열(str)객체를 반환할 뿐이기 때문에 정보를 추출하기가 어렵습니다.
따라서 BeautifulSoup을 이용해야 합니다.
이 BeautifulSoup은 html 코드를 Python이 이해하는 객체 구조로 변환하는 Parsing을 맡고 있고,
이 라이브러리를 이용해 우리는 제대로 된 ‘의미있는’ 정보를 추출해 낼 수 있습니다.
설치하기 BeautifulSoup을 직접 쳐서 설치하는 것도 가능하지만,
bs4라는 wrapper라이브러리를 통해 설치하는 방법이 더 쉽고 안전합니다. (pip로 간단하게 설치가 가능합니다.)
이제 soup객체에서 원하는 정보를 찾아낼 수 있습니다.
설치하기(pip로 간단하게 설치가 가능합니다.)
pip install requestsRequests는 정말 좋은 라이브러리이지만, html을 ‘의미있는’,
즉 Python이 이해하는 객체 구조로 만들어주지는 못합니다.
위에서 req.text는 python의 문자열(str)객체를 반환할 뿐이기 때문에 정보를 추출하기가 어렵습니다.
따라서 BeautifulSoup을 이용해야 합니다.
이 BeautifulSoup은 html 코드를 Python이 이해하는 객체 구조로 변환하는 Parsing을 맡고 있고,
이 라이브러리를 이용해 우리는 제대로 된 ‘의미있는’ 정보를 추출해 낼 수 있습니다.
설치하기 BeautifulSoup을 직접 쳐서 설치하는 것도 가능하지만,
bs4라는 wrapper라이브러리를 통해 설치하는 방법이 더 쉽고 안전합니다. (pip로 간단하게 설치가 가능합니다.)
pip install bs4사용예제
import requests from bs4 import BeautifulSoup # HTTP GET Request req = requests.get('https://www,todaymart.com/49') # HTML 소스 가져오기 html = req.text # BeautifulSoup으로 html소스를 python객체로 변환하기 # 첫 인자는 html소스코드, 두 번째 인자는 어떤 parser를 이용할지 명시합니다. # 이 글에서는 Python 내장 html.parser를 이용했습니다. soup = BeautifulSoup(html, 'html.parser')
이제 soup객체에서 원하는 정보를 찾아낼 수 있습니다.
'랭귀지 > python' 카테고리의 다른 글
[PYTHON] 간단한 웹서버 구축하기 (0) | 2017.12.23 |
---|---|
[python]사용자의 홈 디렉토리 경로 얻는 법 (0) | 2017.12.23 |
[python]방대한 XLS (Excel) 파일을 읽고(쓰기) (0) | 2017.12.21 |
[python]crawler 샘플 (0) | 2017.12.21 |
Python 에서 Mysql 사용 하기 (0) | 2017.12.20 |
Comments