정보&강의 티스토리 이미지 및 첨부파일 다운로드 파이썬 소스
- 운영자
- 790
- 0
from bs4 import BeautifulSoup from urllib import request import requests import re def get_content(url): files = {} # 파일명과 파일경로가 저장될 사전을 정의함 title = "" # 문서명을 정의함 headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36'} req = requests.get(url, headers=headers) content = req.content soup = BeautifulSoup(content, 'html.parser') temp = soup.select_one('#content > div.boxMid > div > div.container > div.article > div') title = soup.select_one('#content > div.boxMid > div > div.titleWrap > h2 > a') title = title.text lyrics = temp.text # 스샷 이미지 추출 findImgTag = temp.find_all('img') for x in findImgTag: if 'filename' in x.attrs: # 내부에 있는 항목들을 리스트로 가져옵니다 imgUrl = x.attrs['src'] imgName = x.attrs['filename'] files[imgName] = imgUrl # files 사전에 추가함. # 파워 포인트 파일 추출 findFileTag = temp.find_all("a") for x in findFileTag: if 'cfile' in x.attrs['href']: filesUrl = x.attrs['href'] filesName = x.text files[filesName] = filesUrl # files 사전에 추가함. return title, lyrics, files url = 'https://*********.tistory.com/11173' title, lyrics, files = get_content(url) lyrics = lyrics.split('\n')[0] print(title) print("") print(lyrics.split('\n')) print("") print(files) for file_name, file_url in files.items(): request.urlretrieve(file_url, file_name) print("{name}을 저장하였습니다.".format(name=file_name))
티스토리의 본문 이미지와 첨부파일을 일괄 다운로드 하는 파이썬 소스입니다.
티스토리의 스킨에 따라서 BeautifulSoup CSS 선택자가 달라집니다.
조금만 파이썬 공부를 하셔도 수정 및 응용이 가능한 소스이니 공부에 참고하시기 바랍니다.
이런 글도 찾아보세요!
댓글 0
권한이 없습니다. 로그인