【Python】 Beautiful Soup을 사용하여 로컬 HTML 파일을 스크래핑하여 CSV 출력하는 방법
9404 단어 HTMLCSV파이썬BeautifulSoup
소개
로컬 html 파일에서 텍스트 데이터를 스크래핑하고 싶고 여러가지 시도했지만 파이썬 라이브러리의 Beautiful Soup이 매우 편리했기 때문에 사용법과 CSV 파일로의 출력 방법을 공유합니다.
개발 환경
pyenv: 1.2.15
파이썬: 3.6.5
Beautiful Soup: 4.4.0
VSCode: 1.41.1
파이썬 환경 구축
환경 구축은 Progate의 하기 레슨을 참고로 했습니다.
파이썬 개발 환경을 준비합시다! (Mac)
Beautiful Soup이란?
파이썬 라이브러리의 일종으로 HTML 데이터에서 HTML 태그와 CSS 선택기를 기준으로
스크래핑을 수행할 수 있습니다.
공식 참조 : htps //w w. c 루 my. 코 m / 그 f와 ぁ레 / 베아 치후 l 그래 p / bs4 / 두 c /
참조 일본어 번역 (ver 3.0) : htps // t c.んふぉ/베아우치후 l소 p/
Beautiful Soup 소개
pip 을 사용하여 설치합니다.
아래의 기사를 참고로 했습니다.
【Python 입문】 pip란? 사용법을 알기 쉽게 해설!
파이썬의 beautifulsoup으로 스크래핑을 해보자.
다음 명령으로 설치할 수 있습니다.
pip install beautifulsoup4
html 파일 준비
스크래핑할 html 파일을 로컬로 준비합니다.
다음은 샘플 파일입니다.
/sample_file/sample.html<!-- 〜省略〜 -->
<div>
<ul lass="sample">
<li class="sample">
<a href="aaa">aaaaaa</a>
</li>
<li class="sample">
<a href="bbb">bbbbb</a>
</li>
</ul>
<div class="sample">
<a href="ccc">ccc</a>
</div>
<div class="sample">
<div class="sample">
<a href="ddd">ddddd</a>
</div>
</div>
</div>
<!-- 〜省略〜 -->
스크래핑 작업
파이썬 파일 만들기
그런 다음 파이썬 프로그램을 만듭니다. html 파일과 같은 디렉토리에 만드십시오.
/sample_file/script.pyimport bs4
import csv # モジュール"CSV"の呼び出し
# スクレイピング対象のhtmlファイルからsoupを作成
soup = bs4.BeautifulSoup(open('sample.html'), 'html.parser')
links = soup.find_all('a') # 全てのaタグ要素を取得
csvlist = [] # 配列を作成
for link in links: # aタグのテキストデータを配列に格納
sample_txt = link.text
csvlist.append(sample_txt)
# CSVファイルを開く。ファイルがない場合は新規作成
f = open("output_sample.csv", "w")
writecsv = csv.writer(f, lineterminator='\n')
writecsv.writerow(csvlist) # 出力
f.close() # CSVファイルを閉じる
아래의 기사를 참고로 했습니다.
Python으로 HTML 구문 분석 (Beautiful Soup)
BeautifulSoup으로 스크래핑한 HTML을 CSV로 출력
파이썬 파일 실행
$ cd sample_file
$ python script.py
출력 결과
같은 디렉토리에 다음과 같이 CSV 파일이 출력됩니다.
output_sample.csvaaaaaa,bbbbb,ccc,ddddd
CSV 처리
1. CSV 파일의 가독성 향상
VSCode를 사용하는 경우 Rainbow CSV라는 확장 기능을 도입하면 CSV를 매우 쉽게 볼 수 있습니다.
before
after
Rainbow CSV의 도입은 하기 기사를 참고로 했습니다.
VSCode로 CSV를 멋지게 보이게 하는 「Rainbow CSV」를 소개하겠습니다
2. seed 데이터용으로 처리
위의 방법으로 스크래핑하면 많은 줄 바꿈이 들어갈 수 있습니다.
CSV 파일을 seed 데이터 등으로 배열의 내용으로 사용하고 싶은 경우
개행을 지우고 한 줄로 하고 싶은 경우가 있습니다.
그러한 때는 VSCode의 치환 기능으로 개행을 일괄 삭제하는 방법을 추천합니다.
이 방법이 아래의 기사를 참고로 했습니다.
【VisualStudioCode】 개행 코드를 치환해 1행으로 하는 방법
요약
Beautiful Soup에서 스크래핑을 수행할 수 있습니다.
모듈 "CSV"를 사용하면 CSV 파일을 출력 할 수 있습니다.
html 파일의 구성에 의해 CSV 파일에 많은 개행이 들어 버리는 경우,
VSCode의 대체 기능이 편리합니다.
참고 URL
htps: //p 여과-8. 코 m / cs / py 텐 엔 v
htps //w w. c 루 my. 코 m / 그 f와 ぁ레 / 베아 치후 l 그래 p / bs4 / 두 c /
htps //w w. 세주쿠. 네 t/bぉg/50417
htps //w w. 세주쿠. 네 t/bぉg/75137
htps : // 잘 77. 기주 b. 이오/py 텐/파 r세-HTML-by-베아우후후-그래서 p. HTML
htps // 5㎉g. 는 bぉ. jp/엔트리/2019/01/03/075552
htps : // m / 0w0 / ms / 07 a 481921 a 2 a c09 a 049f
htps : // 쿵카. 메 / vsc - w / /
Reference
이 문제에 관하여(【Python】 Beautiful Soup을 사용하여 로컬 HTML 파일을 스크래핑하여 CSV 출력하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/shogo452/items/92db0a0e8012ccb0c4e7
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
pyenv: 1.2.15
파이썬: 3.6.5
Beautiful Soup: 4.4.0
VSCode: 1.41.1
파이썬 환경 구축
환경 구축은 Progate의 하기 레슨을 참고로 했습니다.
파이썬 개발 환경을 준비합시다! (Mac)
Beautiful Soup이란?
파이썬 라이브러리의 일종으로 HTML 데이터에서 HTML 태그와 CSS 선택기를 기준으로
스크래핑을 수행할 수 있습니다.
공식 참조 : htps //w w. c 루 my. 코 m / 그 f와 ぁ레 / 베아 치후 l 그래 p / bs4 / 두 c /
참조 일본어 번역 (ver 3.0) : htps // t c.んふぉ/베아우치후 l소 p/
Beautiful Soup 소개
pip 을 사용하여 설치합니다.
아래의 기사를 참고로 했습니다.
【Python 입문】 pip란? 사용법을 알기 쉽게 해설!
파이썬의 beautifulsoup으로 스크래핑을 해보자.
다음 명령으로 설치할 수 있습니다.
pip install beautifulsoup4
html 파일 준비
스크래핑할 html 파일을 로컬로 준비합니다.
다음은 샘플 파일입니다.
/sample_file/sample.html<!-- 〜省略〜 -->
<div>
<ul lass="sample">
<li class="sample">
<a href="aaa">aaaaaa</a>
</li>
<li class="sample">
<a href="bbb">bbbbb</a>
</li>
</ul>
<div class="sample">
<a href="ccc">ccc</a>
</div>
<div class="sample">
<div class="sample">
<a href="ddd">ddddd</a>
</div>
</div>
</div>
<!-- 〜省略〜 -->
스크래핑 작업
파이썬 파일 만들기
그런 다음 파이썬 프로그램을 만듭니다. html 파일과 같은 디렉토리에 만드십시오.
/sample_file/script.pyimport bs4
import csv # モジュール"CSV"の呼び出し
# スクレイピング対象のhtmlファイルからsoupを作成
soup = bs4.BeautifulSoup(open('sample.html'), 'html.parser')
links = soup.find_all('a') # 全てのaタグ要素を取得
csvlist = [] # 配列を作成
for link in links: # aタグのテキストデータを配列に格納
sample_txt = link.text
csvlist.append(sample_txt)
# CSVファイルを開く。ファイルがない場合は新規作成
f = open("output_sample.csv", "w")
writecsv = csv.writer(f, lineterminator='\n')
writecsv.writerow(csvlist) # 出力
f.close() # CSVファイルを閉じる
아래의 기사를 참고로 했습니다.
Python으로 HTML 구문 분석 (Beautiful Soup)
BeautifulSoup으로 스크래핑한 HTML을 CSV로 출력
파이썬 파일 실행
$ cd sample_file
$ python script.py
출력 결과
같은 디렉토리에 다음과 같이 CSV 파일이 출력됩니다.
output_sample.csvaaaaaa,bbbbb,ccc,ddddd
CSV 처리
1. CSV 파일의 가독성 향상
VSCode를 사용하는 경우 Rainbow CSV라는 확장 기능을 도입하면 CSV를 매우 쉽게 볼 수 있습니다.
before
after
Rainbow CSV의 도입은 하기 기사를 참고로 했습니다.
VSCode로 CSV를 멋지게 보이게 하는 「Rainbow CSV」를 소개하겠습니다
2. seed 데이터용으로 처리
위의 방법으로 스크래핑하면 많은 줄 바꿈이 들어갈 수 있습니다.
CSV 파일을 seed 데이터 등으로 배열의 내용으로 사용하고 싶은 경우
개행을 지우고 한 줄로 하고 싶은 경우가 있습니다.
그러한 때는 VSCode의 치환 기능으로 개행을 일괄 삭제하는 방법을 추천합니다.
이 방법이 아래의 기사를 참고로 했습니다.
【VisualStudioCode】 개행 코드를 치환해 1행으로 하는 방법
요약
Beautiful Soup에서 스크래핑을 수행할 수 있습니다.
모듈 "CSV"를 사용하면 CSV 파일을 출력 할 수 있습니다.
html 파일의 구성에 의해 CSV 파일에 많은 개행이 들어 버리는 경우,
VSCode의 대체 기능이 편리합니다.
참고 URL
htps: //p 여과-8. 코 m / cs / py 텐 엔 v
htps //w w. c 루 my. 코 m / 그 f와 ぁ레 / 베아 치후 l 그래 p / bs4 / 두 c /
htps //w w. 세주쿠. 네 t/bぉg/50417
htps //w w. 세주쿠. 네 t/bぉg/75137
htps : // 잘 77. 기주 b. 이오/py 텐/파 r세-HTML-by-베아우후후-그래서 p. HTML
htps // 5㎉g. 는 bぉ. jp/엔트리/2019/01/03/075552
htps : // m / 0w0 / ms / 07 a 481921 a 2 a c09 a 049f
htps : // 쿵카. 메 / vsc - w / /
Reference
이 문제에 관하여(【Python】 Beautiful Soup을 사용하여 로컬 HTML 파일을 스크래핑하여 CSV 출력하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/shogo452/items/92db0a0e8012ccb0c4e7
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
파이썬 라이브러리의 일종으로 HTML 데이터에서 HTML 태그와 CSS 선택기를 기준으로
스크래핑을 수행할 수 있습니다.
공식 참조 : htps //w w. c 루 my. 코 m / 그 f와 ぁ레 / 베아 치후 l 그래 p / bs4 / 두 c /
참조 일본어 번역 (ver 3.0) : htps // t c.んふぉ/베아우치후 l소 p/
Beautiful Soup 소개
pip 을 사용하여 설치합니다.
아래의 기사를 참고로 했습니다.
【Python 입문】 pip란? 사용법을 알기 쉽게 해설!
파이썬의 beautifulsoup으로 스크래핑을 해보자.
다음 명령으로 설치할 수 있습니다.
pip install beautifulsoup4
html 파일 준비
스크래핑할 html 파일을 로컬로 준비합니다.
다음은 샘플 파일입니다.
/sample_file/sample.html<!-- 〜省略〜 -->
<div>
<ul lass="sample">
<li class="sample">
<a href="aaa">aaaaaa</a>
</li>
<li class="sample">
<a href="bbb">bbbbb</a>
</li>
</ul>
<div class="sample">
<a href="ccc">ccc</a>
</div>
<div class="sample">
<div class="sample">
<a href="ddd">ddddd</a>
</div>
</div>
</div>
<!-- 〜省略〜 -->
스크래핑 작업
파이썬 파일 만들기
그런 다음 파이썬 프로그램을 만듭니다. html 파일과 같은 디렉토리에 만드십시오.
/sample_file/script.pyimport bs4
import csv # モジュール"CSV"の呼び出し
# スクレイピング対象のhtmlファイルからsoupを作成
soup = bs4.BeautifulSoup(open('sample.html'), 'html.parser')
links = soup.find_all('a') # 全てのaタグ要素を取得
csvlist = [] # 配列を作成
for link in links: # aタグのテキストデータを配列に格納
sample_txt = link.text
csvlist.append(sample_txt)
# CSVファイルを開く。ファイルがない場合は新規作成
f = open("output_sample.csv", "w")
writecsv = csv.writer(f, lineterminator='\n')
writecsv.writerow(csvlist) # 出力
f.close() # CSVファイルを閉じる
아래의 기사를 참고로 했습니다.
Python으로 HTML 구문 분석 (Beautiful Soup)
BeautifulSoup으로 스크래핑한 HTML을 CSV로 출력
파이썬 파일 실행
$ cd sample_file
$ python script.py
출력 결과
같은 디렉토리에 다음과 같이 CSV 파일이 출력됩니다.
output_sample.csvaaaaaa,bbbbb,ccc,ddddd
CSV 처리
1. CSV 파일의 가독성 향상
VSCode를 사용하는 경우 Rainbow CSV라는 확장 기능을 도입하면 CSV를 매우 쉽게 볼 수 있습니다.
before
after
Rainbow CSV의 도입은 하기 기사를 참고로 했습니다.
VSCode로 CSV를 멋지게 보이게 하는 「Rainbow CSV」를 소개하겠습니다
2. seed 데이터용으로 처리
위의 방법으로 스크래핑하면 많은 줄 바꿈이 들어갈 수 있습니다.
CSV 파일을 seed 데이터 등으로 배열의 내용으로 사용하고 싶은 경우
개행을 지우고 한 줄로 하고 싶은 경우가 있습니다.
그러한 때는 VSCode의 치환 기능으로 개행을 일괄 삭제하는 방법을 추천합니다.
이 방법이 아래의 기사를 참고로 했습니다.
【VisualStudioCode】 개행 코드를 치환해 1행으로 하는 방법
요약
Beautiful Soup에서 스크래핑을 수행할 수 있습니다.
모듈 "CSV"를 사용하면 CSV 파일을 출력 할 수 있습니다.
html 파일의 구성에 의해 CSV 파일에 많은 개행이 들어 버리는 경우,
VSCode의 대체 기능이 편리합니다.
참고 URL
htps: //p 여과-8. 코 m / cs / py 텐 엔 v
htps //w w. c 루 my. 코 m / 그 f와 ぁ레 / 베아 치후 l 그래 p / bs4 / 두 c /
htps //w w. 세주쿠. 네 t/bぉg/50417
htps //w w. 세주쿠. 네 t/bぉg/75137
htps : // 잘 77. 기주 b. 이오/py 텐/파 r세-HTML-by-베아우후후-그래서 p. HTML
htps // 5㎉g. 는 bぉ. jp/엔트리/2019/01/03/075552
htps : // m / 0w0 / ms / 07 a 481921 a 2 a c09 a 049f
htps : // 쿵카. 메 / vsc - w / /
Reference
이 문제에 관하여(【Python】 Beautiful Soup을 사용하여 로컬 HTML 파일을 스크래핑하여 CSV 출력하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/shogo452/items/92db0a0e8012ccb0c4e7
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
pip install beautifulsoup4
스크래핑할 html 파일을 로컬로 준비합니다.
다음은 샘플 파일입니다.
/sample_file/sample.html
<!-- 〜省略〜 -->
<div>
<ul lass="sample">
<li class="sample">
<a href="aaa">aaaaaa</a>
</li>
<li class="sample">
<a href="bbb">bbbbb</a>
</li>
</ul>
<div class="sample">
<a href="ccc">ccc</a>
</div>
<div class="sample">
<div class="sample">
<a href="ddd">ddddd</a>
</div>
</div>
</div>
<!-- 〜省略〜 -->
스크래핑 작업
파이썬 파일 만들기
그런 다음 파이썬 프로그램을 만듭니다. html 파일과 같은 디렉토리에 만드십시오.
/sample_file/script.pyimport bs4
import csv # モジュール"CSV"の呼び出し
# スクレイピング対象のhtmlファイルからsoupを作成
soup = bs4.BeautifulSoup(open('sample.html'), 'html.parser')
links = soup.find_all('a') # 全てのaタグ要素を取得
csvlist = [] # 配列を作成
for link in links: # aタグのテキストデータを配列に格納
sample_txt = link.text
csvlist.append(sample_txt)
# CSVファイルを開く。ファイルがない場合は新規作成
f = open("output_sample.csv", "w")
writecsv = csv.writer(f, lineterminator='\n')
writecsv.writerow(csvlist) # 出力
f.close() # CSVファイルを閉じる
아래의 기사를 참고로 했습니다.
Python으로 HTML 구문 분석 (Beautiful Soup)
BeautifulSoup으로 스크래핑한 HTML을 CSV로 출력
파이썬 파일 실행
$ cd sample_file
$ python script.py
출력 결과
같은 디렉토리에 다음과 같이 CSV 파일이 출력됩니다.
output_sample.csvaaaaaa,bbbbb,ccc,ddddd
CSV 처리
1. CSV 파일의 가독성 향상
VSCode를 사용하는 경우 Rainbow CSV라는 확장 기능을 도입하면 CSV를 매우 쉽게 볼 수 있습니다.
before
after
Rainbow CSV의 도입은 하기 기사를 참고로 했습니다.
VSCode로 CSV를 멋지게 보이게 하는 「Rainbow CSV」를 소개하겠습니다
2. seed 데이터용으로 처리
위의 방법으로 스크래핑하면 많은 줄 바꿈이 들어갈 수 있습니다.
CSV 파일을 seed 데이터 등으로 배열의 내용으로 사용하고 싶은 경우
개행을 지우고 한 줄로 하고 싶은 경우가 있습니다.
그러한 때는 VSCode의 치환 기능으로 개행을 일괄 삭제하는 방법을 추천합니다.
이 방법이 아래의 기사를 참고로 했습니다.
【VisualStudioCode】 개행 코드를 치환해 1행으로 하는 방법
요약
Beautiful Soup에서 스크래핑을 수행할 수 있습니다.
모듈 "CSV"를 사용하면 CSV 파일을 출력 할 수 있습니다.
html 파일의 구성에 의해 CSV 파일에 많은 개행이 들어 버리는 경우,
VSCode의 대체 기능이 편리합니다.
참고 URL
htps: //p 여과-8. 코 m / cs / py 텐 엔 v
htps //w w. c 루 my. 코 m / 그 f와 ぁ레 / 베아 치후 l 그래 p / bs4 / 두 c /
htps //w w. 세주쿠. 네 t/bぉg/50417
htps //w w. 세주쿠. 네 t/bぉg/75137
htps : // 잘 77. 기주 b. 이오/py 텐/파 r세-HTML-by-베아우후후-그래서 p. HTML
htps // 5㎉g. 는 bぉ. jp/엔트리/2019/01/03/075552
htps : // m / 0w0 / ms / 07 a 481921 a 2 a c09 a 049f
htps : // 쿵카. 메 / vsc - w / /
Reference
이 문제에 관하여(【Python】 Beautiful Soup을 사용하여 로컬 HTML 파일을 스크래핑하여 CSV 출력하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/shogo452/items/92db0a0e8012ccb0c4e7
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
import bs4
import csv # モジュール"CSV"の呼び出し
# スクレイピング対象のhtmlファイルからsoupを作成
soup = bs4.BeautifulSoup(open('sample.html'), 'html.parser')
links = soup.find_all('a') # 全てのaタグ要素を取得
csvlist = [] # 配列を作成
for link in links: # aタグのテキストデータを配列に格納
sample_txt = link.text
csvlist.append(sample_txt)
# CSVファイルを開く。ファイルがない場合は新規作成
f = open("output_sample.csv", "w")
writecsv = csv.writer(f, lineterminator='\n')
writecsv.writerow(csvlist) # 出力
f.close() # CSVファイルを閉じる
$ cd sample_file
$ python script.py
aaaaaa,bbbbb,ccc,ddddd
Beautiful Soup에서 스크래핑을 수행할 수 있습니다.
모듈 "CSV"를 사용하면 CSV 파일을 출력 할 수 있습니다.
html 파일의 구성에 의해 CSV 파일에 많은 개행이 들어 버리는 경우,
VSCode의 대체 기능이 편리합니다.
참고 URL
htps: //p 여과-8. 코 m / cs / py 텐 엔 v
htps //w w. c 루 my. 코 m / 그 f와 ぁ레 / 베아 치후 l 그래 p / bs4 / 두 c /
htps //w w. 세주쿠. 네 t/bぉg/50417
htps //w w. 세주쿠. 네 t/bぉg/75137
htps : // 잘 77. 기주 b. 이오/py 텐/파 r세-HTML-by-베아우후후-그래서 p. HTML
htps // 5㎉g. 는 bぉ. jp/엔트리/2019/01/03/075552
htps : // m / 0w0 / ms / 07 a 481921 a 2 a c09 a 049f
htps : // 쿵카. 메 / vsc - w / /
Reference
이 문제에 관하여(【Python】 Beautiful Soup을 사용하여 로컬 HTML 파일을 스크래핑하여 CSV 출력하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/shogo452/items/92db0a0e8012ccb0c4e7
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(【Python】 Beautiful Soup을 사용하여 로컬 HTML 파일을 스크래핑하여 CSV 출력하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/shogo452/items/92db0a0e8012ccb0c4e7텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)