하라는 공부는 안하고/파이썬하고있네
파이썬으로 웹사이트 읽어오기(urllib)
big.food
2016. 1. 1. 15:34
모든 명령어는 위 사이트에 있고, 간단하게 읽어오기만 원한다면
urllib.request.urlopen("url")
만 있어도 됩니다.
import urllib.request
a = urllib.request.urlopen("http://www.daum.net/")
print(a.read())
이 코드를 실행하면
b'\r\n\r\n\r\n\r\n\r\n\r\n<!DOCTYPE html>\n<html lang="ko">\n<head>\n<meta charset="utf-8">\n<title>Daum – \xeb\xaa\xa8\xec\x9c\xbc\xeb\x8b\xa4 \xec\x9e\x87\xeb\x8b\xa4........
이렇게 읽을 수 없게 출력하기때문에 디코딩을 해 주어야 합니다.
import urllib.request
a = urllib.request.urlopen("http://www.daum.net/")
print(a.read().decode("utf-8"))
utf-8로 디코딩해서 출력했습니다.
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="utf-8">
<title>Daum – 모으다 잇다 흔들다</title>
........
잘 되네요
import urllib.request
a = open("asda.txt", "w")
a.close()
colors = ('red', 'pink', 'purple', 'blue', 'green', 'yellow', 'orange', 'gray')
for i in colors:
a = open("asda.txt", 'a')
f = urllib.request.urlopen("http://www.flatuicolorpicker.com/%s" % i)
print("%s connected" % i)
s = str(f.read().decode("utf-8"))
a.write("%s = (\n" % i)
while 1:
if s.find('<span class="color-name">') != -1:
s = s[s.find('<span class="color-name">')+25:]
tcn = s[:s.find('</span>')]
s = s[s.find('<span class="hex-number">')+25:]
thn = s[:s.find('</span>')]
s = s[s.find('<span class="rgb-number">')+25:]
trn = s[:s.find('</span>')]
else:
a.write("\t('%s', '%s', '%s')\n)\n\n" % (tcn, thn, trn))
a.close()
print("%s done" % i)
break
a.write("\t('%s', '%s', '%s'),\n" % (tcn, thn, trn))
print("all done")
http://www.flatuicolorpicker.com/ 에서 색깔별로 읽어와 색이름, hex코드, rgb코드로 나누어 터플로 변환해 asda.txt에 저장해주는 스크립트입니다. 필요하면 뜯어보세요.
주석따위는 달지 않았습니다.
※파이썬3.4.3을 사용했습니다.
urllib에서 urlopen만 사용했지만 필요하다면 urllib에 관한 문서를 참조하세요.