Teams 위키를 이미지를 포함하여 로컬로 다운로드
10918 단어 팀
소개
잠정 임차인에서 영구 임차인으로 팀 마이그레이션하는 데 위키를 아무래도 마이그레이션하고 싶습니다.
그러나 마이그레이션 도구에서는 Wiki는 마이그레이션되지 않습니다.
Teams의 위키 내보내기로 4고8 괴로워하는 사람이 많지만 별로 정보가 없다.
Sharepoint에서 사이트 콘텐츠를 보면 "wiki의 데이터가 mht 파일이나 png 파일 등으로 저장되어 있기 때문에 좋은 느낌에 어떻게든 할 수 있을까"라고 생각해 보았다.
결과적으로, mht 파일을 반죽하고 html 파일로 저장해 두거나 로컬 Office 파일(OneNote의 북)에 복사할 수 있을 것 같다고 밝혀졌다.
다만, 새로운 Teams에 복사하면, 화상 부분이 카피되지 않기 때문에, 흠……. 결국 1장 1장 이미지를 복사해 붙여넣기를 반복할 필요가 있을 것 같다.
비망록으로 기록해 둔다.
했던 일
데이터 얻기
팀을 SharePoint에서 열고 사이트 콘텐츠 안에 "Teams Wiki Data"가 있으므로 클릭하여 열 수 있습니다.
General의 점들을 열고 다운로드를 클릭하면 Zip 파일로 다운로드할 수 있다
이 중에는 복사 된 이미지 파일이 png로 저장되거나 mht 파일이 저장됩니다.
하지만 mht 파일을 열어도 링크되지 않습니다 수수께끼.
mht 파일을 단순히 html 파일로 확장자를 바꾸어 열어도 링크가 끊어져 볼 수 없다.
가끔 볼 수 있는 경우가 있지만, 볼 수 없는 때도 있다. 그래.
그래서 selenium 사용해
<img>
태그의 속성으로부터 이미지 파일의 패스를 당겨 와, PNG 이미지 파일을 상대 패스로 표시시켜 보면 어떨까 생각하고, python으로 어떻게든 해 본다.python + selenium을 사용하여 mht 파일을 반올림
소스는 다음과 같습니다
from selenium import webdriver
from selenium.webdriver.common.by import By
import os
import glob
#Generalフォルダ内にあるmhtファイルをhtmファイルにリネームする
[os.rename("General/"+fn,"General/"+fn[:-4]+".htm") for fn in glob.glob("General/*.mht")]
#変換対象のhtmlファイルの絶対パスのリストを作っておく
files=[os.path.abspath(x).replace("\\","/") for x in glob.glob("General/*.htm")]
#ChromeDriverを立ち上げておく。chromedriverは同一フォルダ内に置いて相対パスで指定。
driver = webdriver.Chrome(executable_path='chromedriver_win32/chromedriver.exe')
#全てのファイルに対して以下を実行する
for file in files:
print(file)
#fileを開く
driver.get("file:///"+file)
#imgエレメントを探す
elements = driver.find_elements_by_tag_name("img")
#data-preview-srcの属性を持ってきて、"/"区切りの末尾データ(=PNG画像ファイルの名前部分)だけを取得し、
#置換用の文字列を作っておく
s=[element.get_attribute("data-preview-src") for element in elements]
s=[e.split("/")[-1] if e is not None else "" for e in s ] #(((おまじない
s=['<div><img src="'+x+'"></div>' for x in s]
#元々のimgタグで表示されている画像の高さを0にするための工夫も施しておく
h=[element.get_attribute("height") for element in elements]
h=['height="'+x+'"' for x in h]
#ファイルを1行ずつ読み込んでreplaceで文字列を置換する(笑
lines=[]
n=0
x='<div><span contenteditable="false"><img alt data-preview-src='
with open(file, mode='rt', encoding='utf-8') as f:
for line in f:
if x in line:
line=line.replace(x,s[n]+x).replace(h[n],'height="0"')
n=n+1
lines.append(line)
#書き換えた文字列を使って新しいファイルを作る
with open(file[:-4]+"_copy.htm",mode="w",encoding="utf8") as f:
f.writelines(lines)
완성 된 html 파일을 사용하여 더 번갈아 가십시오.
결론
집에 가고 싶다 (흰 눈)
지금 종교상의 이유로 브라우저에서 밖에 사용할 수 없습니다만, 데스크탑 앱판 사용할 수 있으면 고민하지 않아도 되겠지요.
Reference
이 문제에 관하여(Teams 위키를 이미지를 포함하여 로컬로 다운로드), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/pm00/items/a6a74151d12c8e012fff텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)