HTML 실행 파일 만들기 - HTML silhaeng pail mandeulgi

자동으로 스크립트를 실행하기 시작한다면, 이제 다른 명령어처럼 뭔가 옵션을 주고 싶을수 있습니다. 같은 페이지만 계속 반복실행하는건 의미가 없으니깐요.

앞서 사용한 웹페이지의 자료를 날짜가 들어간 파일로 만들어 보겠습니다. 스크립트 파일에서 변수는

변수명 = "텍스트"
변수명 = $(수식)

 으로 정의해 주고, 사용할때는

$변수명

으로 입력하면 됩니다.

이제 날짜를 출력해보죠.  date라고 입력하면 날짜가 출력됩니다..

date

Thu Jul 26 07:10:51 UTC 2018

파일명으로 사용하기엔 너무 복잡해서, 년월일만 나오게 출력포맷을 바꿔보겠습니다.

 date +"%y%m%d"

 180726

년월일만 간략하게 나왔습니다.(검색해보시면, 더 많은 옵션이 있으니깐 다양하게 변형해보세요)

이제 스크립트에 넣어보죠.

#!/bin/sh

NOW = $(date +"%y%m%d")

curl -s 'https://projecteuler.net/archives;page=1'\
| scrape -be 'table#problems_table > tr:not(:first-child)' | xml2json \
| jq -c '.html.body.tr[] | {id: .td[0]."$t",subject: .td[1][]."$t",solved:.td[2][]."$t"}' \
| json2csv -k id,subject,solved > test_list-$NOW.csv
 
for i in 2 3 4
do
curl -s 'https://projecteuler.net/archives;page=${i}'\
| scrape -be 'table#problems_table > tr:not(:first-child)' | xml2json \
| jq -c '.html.body.tr[] | {id: .td[0]."$t",subject: .td[1][]."$t",solved:.td[2][]."$t"}' \
| json2csv -p -k id,subject,solved >> test_list-$NOW.csv
done

더 검색해 보시면, 스크립트로 할수 있는일이 생각보다 많습니다. 이것저것 많이 시도해보세요.

HTML 실행 파일 만들기 - HTML silhaeng pail mandeulgi

파이썬의 문자열을 html 파일로 저장하는 방법에 대해 소개합니다.

파이썬의 open(), write(), close()를 이용해서 html 파일을 작성할 수 있습니다.

1) html 코드 준비하기¶

html_text = """
    <!DOCTYPE html>
    <html>
    <head>
    <title>Page Title</title>
    </head>
    <body>

    <h2>This is a Heading</h2>
    <p>This is a paragraph.</p>

    </body>
    </html>
"""

우선 html 코드를 문자열의 형태로 준비합니다.

(Python 문자열 (Strings))


2) open(), write(), close() 사용하기¶

html_text = """
    <!DOCTYPE html>
    <html>
    <head>
    <title>Page Title</title>
    </head>
    <body>

    <h2>This is a Heading</h2>
    <p>This is a paragraph.</p>

    </body>
    </html>
"""

html_file = open('html_file.html', 'w')
html_file.write(html_text)
html_file.close()

코드를 실행하면 html_text의 내용을 포함하는 html 파일이 해당 경로 안에 생성됩니다.

  • open()은 파일 객체를 가져오는 파이썬 내장함수입니다.

  • write()은 파일 객체의 메서드로서 파일 객체에 값을 쓰는 기능을 합니다.

  • close()는 파일 객체의 메서드로서 파일 객체를 닫는 기능을 합니다.


3) with 문 사용하기¶

 html_text = """
     <!DOCTYPE html>
     <html>
     <head>
     <title>Page Title</title>
     </head>
     <body>

     <h2>This is a Heading</h2>
     <p>This is a paragraph.</p>

     </body>
     </html>
 """

 with open('html_file.html', 'w') as html_file:
    html_file.write(html_text)

with 문을 사용하면 파일 객체를 열고 닫는 동작을 동시에 구현할 수 있습니다.

with 문이 끝나면 자동으로 파일 객체를 닫습니다.


4) 쓰기 모드, 추가 모드 지정하기¶

파일을 열 때, 쓰기 모드 (‘w’)로 열게 되면 기존의 내용이 사라지게 됩니다.

아래와 같이 추가 모드(‘a’)로 파일을 열어주면 기존 내용에 새로운 내용을 추가할 수 있습니다.

with open('html_file.html', 'a') as html_file:
   html_file.write(html_text)

자주 쓰이는 파일 모드는 아래 표와 같습니다.

❖ 파이썬 파일 모드¶

모드

설명

r

읽기 모드 (디폴트). 파일을 읽기 모드로 엽니다. (파일이 없다면 에러 발생)

w

쓰기 모드. 파일을 쓰기 모드로 엽니다. (파일이 없다면 생성)

a

추가 모드. 파일을 추가 모드로 엽니다. (파일이 없다면 생성)

b

바이너리 모드.

+

읽기+쓰기 모드.

r+b

바이너리 모드로 읽기+쓰기 모드.