파이썬_웹에서 사진불러오기_웹크롤링

susu.J·2020년 4월 28일
0

import urllib.request as req
import re

rep = req.urlopen('https://daum.net')

data = rep.read().decode('utf8')

result = re.findall('https://[./-_\w]+.jpg', data)

for link in result:
idx = link.rfind('/')
with open(link[idx+1:],"wb") as f:
pic = req.urlopen(link)
f.write( pic.read() )

    다음사이트에 있는 사진을 불러올 수 있도록 다음 사이트를 이용해보았다. 
    
    

import urllib.request as req
import re --> regular expression이라는 모듈을 가져옴.

data = rep.read().decode('utf8')
--> response에서 리드한 값을 디코드해서 utf8로 만든다.

result = re.findall('https://[./-_\w]+.jpg', data)
--> 데이터에서 jpg를 찾아라!
--> + 붙인 이유는 하나 이상이다.
--> \w 를 붙여서 모든 문자열을 한꺼번에 잡아낼수 있다. (문자만 해당) 근데, 여기에 들어갈 특수 문자를 포함 시킬수 있는 것들을 갖다 붙인다. "./- "
--> 'https://[./-
\w]+.jpg' 의 jpg를 찾아라!

for link in result:
idx = link.rfind('/')
with open(link[idx+1:],"wb") as f:
--> 이 파일의 이름을 정해줘야 되는데 index를 찾는것..
--> idx하나 다음부터 끝까지 슬라이싱하는 것을 파일명으로 만듬.슬래시가 포함되지 않게 "+1" 을 붙인다.
pic = req.urlopen(link)
--> 실제 주소가 link에 있으니 link로 보내고 그러면 픽쳐에 대한 데이터가 올거임.
f.write( pic.read() )
--> 픽쳐에 대한 데이터를 읽어서 그대로 저장하게 만드는 것이다.

추가적으로 정규식[regular expression]을 알아보았다.

profile
on the move 👉🏼 https://sjeong82.tistory.com/

0개의 댓글