조회 수 37 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 게시글 수정 내역 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 게시글 수정 내역 댓글로 가기 인쇄



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 선택자가 달라집니다.

 

조금만 파이썬 공부를 하셔도 수정 및 응용이 가능한 소스이니 공부에 참고하시기 바랍니다.




List of Articles
번호 분류 제목 날짜 조회 수 글쓴이
공지 공지 구글 무제한 드라이브 이용자 공지사항 5 2017.10.30 2225 운영자
공지 공지 구글 드라이브 무제한 클라우드 G-Suite 가입하실 분 모집합니다. 13 file 2017.10.30 3815 운영자
14419 정보&강의 4채널 HDMI 방송 시스템을 위한 하드웨어 및 소프트웨어 구성에 대하여 file 2019.09.30 87 운영자
14418 정보&강의 파이썬 매일성경 오늘의 묵상 파싱 소스 file 2019.09.29 181 운영자
» 정보&강의 티스토리 이미지 및 첨부파일 다운로드 파이썬 소스 2019.09.27 37 운영자
14416 질문글 성경DB컨버터 이용중 문의드립니다. 1 2019.09.27 47 원선생
14415 기타 영수증이 가능할까요? 2 2019.09.27 48 허브민트
14414 정보&강의 애드센스 광고 애드온 팝업창으로 띄우기 2019.09.26 30 운영자
14413 정보&강의 파이썬으로 만든 Youtube 다운로드 프로그램 file 2019.09.25 1590 운영자
14412 질문글 새찬송가 와이드 ppt 구입하고 싶은데 어떻게 해야할까요? 1 2019.09.25 44 허브민트
14411 정보&강의 파이썬 모듈 한번에 업데이트 하는 방법 file 2019.09.25 53 운영자
14410 정보&강의 파이썬 로또 분석기 소스 2019.09.22 107 운영자
14409 정보&강의 스케치북5 게시판에 카카오톡 링크 붙이기 2019.09.20 23 운영자
14408 정보&강의 휴대폰과 통신사 무제한 문자로 그룹문자 보내는 파이썬 코드 1 file 2019.09.15 1130 운영자
14407 정보&강의 mysql 필드값을 기준으로 가장 최근 값 select 하는 방법 2019.09.05 61 운영자
14406 자유글 다음주 추석이네요. 2019.09.03 53 -4821
14405 질문글 문의 드립니다 1 2019.08.26 95 TVkepo
14404 정보&강의 python로 파싱하고 XE로 게시물 자동 등록하기 2019.08.17 96 운영자
14403 정보&강의 pihole로 Youtube 광고 차단하기 file 2019.08.11 179 운영자
14402 질문글 새찬송가 PPT 후원했습니다. 입금확인 부탁드립니다 1 2019.07.27 180 배상진
14401 중보기도 회갑을 맞은 성도님의 가정을 위한 기도 file 2019.07.18 120 JongYongLee
14400 가입인사 가입인사드립니다 1 2019.07.17 91 이웃타일
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 723 Next
/ 723