목상치
728x90

'인프런'에 해당되는 글 2건

  1. 2022.07.03 이것이 진짜 크롤링이다 - 기본편
  2. 2021.09.25 sharepoint로 회사파일서버를 대체할 인트라넷 사이트 만들기 2.7H
목하치
반응형
728x90

며칠 째 웹페이지에서 데이터 보고 긁어 복붙하는 작업이 퇴근을 붙잡아서 방법이 없나 고민하던중

일차로 떠 오른 것은  DB접속하여  쿼리  하는 방법이였으나 시스템 구조상 위험하여 xx 거부 되었고 대안으로 (대상 시스템이 API를 제공하므로) API쿼리가 가능하다고 했으나 파이썬 프로그램을 좀 해야하는 지루함이 보여서 무식하지만 웹 방식도 알아야 자동화도 가능하므로 크롤링 수업을 듣기로 했다. 

여러 크롤링 강의가 있지만 스타트코딩 이 제일 먼저 들어왔다. 구성은 2편이지만 우선 기본 편을 마스터 해보고 실전 강의는 

구분 강의수 시간 주요내용 가격
기본 19강 154분 강의소개/환경설정/준비운동/실전사례 2개/종료 무료
실전       77,000원
         
         

 

기본편

강의소개, 환경설정, 준비운동, 실전사례 #1, #2, 종료3

 

강의소개

첫 챕터 강의 소개는 크롤링에 대해 좋은 점, 강의 효과를 다루었고 프로그래밍에 대한 마음가짐에 대해 소개했다.  주의사항이 있는데 "상업적"으로 이용하지 않아야 하며  대상서버에 "부담"되지 않도록

 

환경설정

환경설정에선 파이썬 설치를 한다. 파이썬은 버전 3.9이며 문법이 쉽고 간단한 언어이고 자료도 많고 다양한 분야 (데이터, 웹분석 등등) 에서 활용가능한 언어이다. 하지만 난 이미 3.10을 설치해 놓아서 다운그레이드 없이 바로 실행하고 예제인 프린트를 해보았다. 그런데 파이썬 사이트에서 보니 최신 버전이 아니여서 업그레이드 (파이썬 업그레이드 하러) 도 하고. 그리고 ( 이미 노트패드++가 있지만 ..)  VS Code를 다운 받아 실행했다. (다운로드 링크 - 바로 최신 버전으로 된다.)



이미지 클릭 다운로드로 이동

설치된 VS 코드에 한국어 적용한 버전

설치후 프로젝트 설정 (신뢰 선택) 하고 창 크기/폰트크기 재설정한다.ㅡ compact폴더 해지, 파이썬 확장프로그램 설치

 

준비운동(4) - Tag, html, bs4, css

HTML 기본 요소 는 TAG <> 이고 속성명과 속성값 , 구조는 부모 자식 순으로 한다.  주요 태그는 A, ul,lu, 등등

Request :  http/https 에 요청하는 것, 주로 POST로 

Request 설치 한다.  오류나면 여기 참조  이후 네이버를 불러와 보여준다.

import requests

response = requests.get("https://www.naver.com")
html = response.text
print(html)

#첫 실수 : reponse로 받는 데 requeset로 받아서 오류남

태그 받아 오기 위해  아래 처럼 작성하고 실행하면 해당 ID에 딸린 텍스트를 가져온다.

import requests

from bs4 import BeautifulSoup


#네이버 접속
response = requests.get("https://www.naver.com")

#html 받아옴
html = response.text


soup = BeautifulSoup(html,'html.parser')

# ID 찾기
word = soup.select_one('#NM_set_home_btn')

print(word.text)

여전히 에러나는데  ModuleNotFoundError: No module named 'bs4' 찾아보니 설치가 안되어서 그런거라 모듈 설치

css 선택자는 디자인을 변경할 html태그를 선택하는 것 , 
종류는 태스선택, id선택자(#~), class 값 (.~), 자식선택자( > )

실전 프로젝트 1) 뉴스 데이터 수집하기


뉴스 제목과 링크 가져오기

우선 원하는 정보가 있는 페이지에 가서 정보를 찾고 선택자가 뭐가 있는지 확인해본다. 예제는 a 태그 및에 타이틀과 링크가 있고 news_tit를 인지하고 중복 값이 있는 지 제대로 나오는 지 검증(검색 ,^F) 해본다. 
이후 지난 시간 배운 url 을 쳐서 값을 저장하고  그중 특정 태그가 있는 지 찾고 관련 하위 정보를 검색하여 변수에 저장.
저장할 때 데이터 특성상 표로 되어야 하므로 for문을 이용하여 저장

import requests
from bs4 import BeautifulSoup

response1 = requests.get("https://search.naver.com/search.naver?where=news&sm=tab_jum&query=%EC%82%BC%EC%84%B1%EC%A0%84%EC%9E%90")

html = response1.text

soup1 = BeautifulSoup(html,'html.parser')
resultg1 = soup1.select(".news_tit")  #결과는 리스트문
for results1 in resultg1:
 title = results1.text
 url = results1.attrs['href']
 print("정렬된 값 --------------------------")
 print(title, url)

print("최초 값 -----------------")
print (resultg1)

이제 검색값을 받아서 결과 조회하기인데 input 함수를 사용하고 기존 링크에 +  걸면된다.


kw1 = input("검색어 입력하세요")

텍스트 검색창 대신 이쁜 창 은 pyautogui 로 해결하면 된다.  설치는 pip install pyautogui 로 하면 되며

import pyautogui

 
#kw1 = input("검색어 입력하세요")
kw1 = pyautogui.prompt("검색어 입력하세요")

이제 검색결과의 2페이지 이후 내용을 검색해보자. 페이지 링크 를 보니 규칙을 찾고 그 것을 반복 시키면 된다. 규칙은 start=?? 이고 반복은 for i in range(시작, 끝, 증가): 를 이용하면 된다.

import requests
import pyautogui

from bs4 import BeautifulSoup
# &sort=0&photo=0&field=0&pd=0&ds=&de=&cluster_rank=85&mynews=0&office_type=0&office_section_code=0&news_office_checked=&nso=so:r,p:all,a:all&start=1
# &sort=0&photo=0&field=0&pd=0&ds=&de=&cluster_rank=31&mynews=0&office_type=0&office_section_code=0&news_office_checked=&nso=so:r,p:all,a:all&start=11
# &sort=0&photo=0&field=0&pd=0&ds=&de=&cluster_rank=47&mynews=0&office_type=0&office_section_code=0&news_office_checked=&nso=so:r,p:all,a:all&start=21
#kw1 = input("검색어 입력하세요")
kw1 = pyautogui.prompt("검색어 입력하세요")

for i in range (1, 30, 10):
  response1 = requests.get(f"https://search.naver.com/search.naver?where=news&sm=tab_jum&query={kw1}&start={i}")
  html = response1.text
  soup1 = BeautifulSoup(html,'html.parser')
  resultg1 = soup1.select(".news_tit")  #결과는 리스트문
  for results1 in resultg1:
    title = results1.text
    url = results1.attrs['href']
    print(f"정렬된 값 --{i}--------------------------")
    print(title, url)


  print("최초 값 -----------------")
  #print (resultg1)

#실수 for 문 사이 빈줄을 넣어주면 안된다. 파이썬은 구문들어쓰기에 민감한 것 같다.

이제 사용자에게 최종 페이지를 입력받아 범위를 정한다.  변수 선언하고 끝값에 넣어주면 되는데 받는 값은 문자열이므로 계산전 형변화 해야 한다.

kw2 = pyautogui.prompt("마지막페이지를 입력하세요")
print(kw2)

for i in range (1, int(kw2)*10, 10):

#실수 형변환 할때 변수만 형변환한다.  int(kw2 * 10 ) 하면 얼마일까?  --> 2222222222

3

3

4

5

6

8




7

728x90
Posted by 댕기사랑
,
728x90

인프런 강의, sharepoint로 회사파일서버를 대체할  인트라넷 사이트 만들기 Sharepoint2016아님 링크 8:30

 

SharePoint로 회사 파일 서버를 대체할 인트라넷 사이트 만들기 - 인프런 | 강의

많은 자료들이 NAS, 외장하드, 드라이브 등 여기저기 흩어져있고, 특정한 권한 관리도 없이 접근을 할 수 있습니다. 또 함께 일하기 위해 다양한 캘린더를 이용하고 메일을 추가로 보내기도 하죠.

www.inflearn.com

1강-과정소개
기존의 NAS,외장하드, 구글캘린더, 메일등 여러 환경과 앱을 쉐어포인트로 통합하여 권한 관리가 되는 문서라이브러리, 아웃룩과 일정 연동, 멀티미디어등 컨텐츠 공지가 가능한 인트라넷 만들기

 구축 방안 :
1) Digtal Transformation(개인자료를 원드라이브로 다시 쉐어포인트로 이동)
2) 활용도에 맞게 분류
3) 보안설정

들어가기전
1)차이점 원드라이브는 개인파일 1T/1인, 쉐어포인트는 공용파일 1T이상
2)가격은 M365 구독에 따라 보안/바이러스 예방, 모바일기기에서 사용 가능, 사용로그 확인, 공동작업
Tip -개인(원/구글드라이브)/회사개인(원/구글드라이브)/회사(쉐어포인트)로 자료를 구분하고 개인적인 자료는 회사개인에 올리지 않는다.

사이트 제작 
-기본기 다지기 > Com..site 생성 > Sharepoint설정(공지사항/자료실구축/메인화면편집/구성원관리(초대)) > Sharepoint 이용(기본화면/파일업다운로드/알림설정/자료동기화/협업)

 

2강~4강-쉐어포인트 개요( 인트라넷 구축 이해, 원드라이브와 차이점, 쉐어포인트 종류 및 구조, 다른 강사님)
-우선 인트라넷과 팀사이트 로 구분하고 전체사이트를 Comm.Site로 하며 팀사이트에 teams/planner/group을 사용가능
-그룹:팀사이트 멤버 단위로 동일 그룹내에서 팀즈/플래너등 팀사이트 사용가능하며 그룹이 다르면 사용불가/접속불가함
-팀별 작업/일정 관리들 팀별 단위로 운영한다면 팀사이트 단순 자료 공유나 공지하는 것이라면 Comm사이트로 운영하는 게 좋음(팀사이트를 만들면 그만큼 운영관리가 복잡하게  목적과 운영방법에 따라 사이트를 만들어야 함)

구분 Sharepoint OneDrive
용도  공용 및 협업을 위한 것, 정교한 권한관리(사람마다)  개인파일 위주로, 간단권한관리(특정사람과 공유 가능 )
용량  1T+10G/1인 1TB/1인(구독플랜마다 다를 수있음)
기능 Sharepoint, Groups, Planners, Teams Onedrive
주의할점   원드라이브 소유자가 구독해지하면 파일 삭제됨
구분 Communication Site Team Site
UI 상단 메뉴 좌측 메뉴
주요기능 문서권한제한, 일정연동, 목록(앱) , 뉴스(앱) 공동작업, 연락처(앱), 작업(앱), Teams(메신저), Group(메일)
dlsdnjs 500,000명 1,000명
전용메일주소 없음 있음
협업방식 자료 공유와 전달용(1way) 쌍방향 협업가능, 팀단위 협업
설치가능앱 문서라이브러리, 일정, 사용자지정목록, 스프레드시트 가져오기, 사이트 사서함 문서/양식/위키페이지/그림/자산라이브러리, 링크, 공지사항, 연락처, 일정, 토론게시판, 작업, 사용자지정목록, 스프레드~,설문조사 등등
관련서비스연결 단독연결 Group, Planner, Teams

Sharepoint 구조(출처 인프런)

출처 인프런



스마트워크를 위해서는 리더가 솔선수범 되어야 하고 기능 교육보다 변화관리교육(왜 쉐어포인트를 사용하지)이 선행되어야 함

 

5강- 사이트 만들기
-기본구조, 용량(과금때문에 슬림하게 운영하길 권장)
-그룹사이트 설정 및 사용:팔로우홈(즐겨찾기 공간), 최근, 저장됨(나중에 보기), 추천링크(관리자설정-링크별접속권한있어여함), 사이트뉴스, 자주사용하는 사이트, 추천사이트(O365개인맞춤화사이트)
-사이트 생성방법 : 사이트만들기 > 커뮤니케이션사이트 선택 > 디자인 > 이름 > 사이트주소(unique) > 사이트설명 > 언어설정(추후변경불가, 날짜/숫자/시간 표시방식) 
-추천링크등록 : 추천링크 추가하고 사람추가 (그림참고)

출처 인프런

 

6강-사이트디자인(테마/머리글/탐색/바닥글 변경수준)
-방법:설정>디자인변경>테마(색)>머리글(레이아웃/사이트로고/배경화면)>탐색(메뉴모양-메가/계단식)>바닥글

 

7강-화면구성하기
-기본화면 : 기본저장 공간 , 홈화면, 사이트 페이지, 설치된앱(그림참고)
-상단 : 다른서비스이동, 홈, 검색창, 메뉴, 사용자초대, 홈컨텐츠편집, 홈 세부정보보기
-문서라이브러리 : 기본 저장공간이며 문서라이브러리APP이 설치된 것으로 폴더와 유사하지만 상위개념임(폴더가 모여있음)
-페이지 : 뉴스, 홈, 페이지등을 모아놓은 공간
-사이트 콘텐츠 : 앱설치할 수 있는 공간으로 문서 라이브러리/일정등등 있음

출처 인프런

 

8강-협업할 사용자 초대하기
-사용자초대는 사이트 구성하고 권한 설정하기 전에 초대하는 것 권장
-초대가능자 : 그룹, 내부사용자, 외부사용자로 구분하며 커뮤니케이션사이트는 내부용이라 외부공유안되며 사이트어드민(전역관리자/쉐어포인트관리자)이 추가해야함
-외부인 추가시 보안을 위해 AIP라이선스(DRM) 연동을 최초 구축할 것을 권장
-외부공유 : 관리센터 > 활성사이트 > 정책 > 외부공유 편집(공유) 
-공유방법 : 컨텐츠에서 공유 버튼 눌러 사용자 입력하고 권한(소유자/구성원/방문자)를 선택 10:00
팁 : "외부 사용자를 제외한 모든 사람"
-세부방법 : 텍스트상자에 이름 또는 메일 주소를 입력하고 선택 > 권한 선택 > 옵션(메일발송) 선택 > 공유

 

9강- 사이트 구조 이해하기(난이도 중)
-휴대폰과 비교 : 공기계(쉐어포인트), 앱(앱, 폴더등)
-사용가능앱 : 문서라이브러리, 상요자지정목록, 스프레드시트 가져오기,
-동기화 : 앱단위로 동기화됨

 

10강 - 문서라이브러리
-바른 문서 구조 : 사이트별로 팀별 문서라이브러리 구성, 예를 들어 공용문서/인사팀/회계팀으로 문서라이브러리앱 으로 구성(그림참고)
-순서 : 권한제한 > 앱별 정책 > 보안설정 > 보기 설정 > 동기화
-실습안 : 내부(홍보/서식) , 팀(인사/영업/기술), 공용(프로젝트 a/b)
-생성 : 새로만들기>문서라이브러리>이름(홍보자료실)>설명>만들기  ===> 상단에 나타남
-이름변경 : 사이트 컨텐츠 > 콘텐츠 > 문서(점3개) 옆 설정 > 문서이름설정변경 > 이름 > 저장
-홈화면 그룹화 :레이블 만들고 하위 링크만들기로 트리 구조 변경함 

출처 인프런

 

11강-뉴스 
-목적 : 뉴스를 텍스트외 비디오, 사진, 일정 추가하도록
-생성 : 새로만들기>뉴스게시물>옵션(비어있음/시각/기본텍스트)>생성
-세부방법:타이틀(타이틀구성편집/이미지/>섹션(구역레이아웃 지정>+누르고>콘텐츠(대표이사인사말/지도/일정)넣기>완료>게시>사용자추가)
-뉴스옵션 : 새로만들기/전자메일로 보내기/수준올리기(홈상단 표시됨)/좋아요/댓글/조회수

 

12강 홈편집
-방법 : 편집(우측상단) > 섹션설정/웹파트편집/콘텐츠편집
-홈화면 구성 미리하고 콘텐츠 채우기를 권장 

 

13강-일정추가
-생성 :  새로만들기 >앱 >일정선택 >이름(전사일정) >만들기 >전사일정 선택 >설정 >빠른 이름,설명 탐색 >탐색-빠른 실행 "예" 선택

 

14강 - 권한 설정
-권한설정 구조 : 모든권한, 디자인, 편집(앱추가편집), 참가(앱추가X,문서 보기/추가), 읽기
-권한 테이블 표 작성 권장 (사이트/메뉴/설치앱/대상/권한)
-권한상속 : 상위권한을 하위가 받음(사이트>앱>폴더>파일)
-권한부여 : 자료실>인사팀>설정>라이브러리설정>이 문서라이브러리에 대한 사용 권한 > 권한상속 중지(사이트와 앱간 권한상속끊김) > 방문자/구성원 제거 > 사용권한부여 > 멤버 추가 > 공유 > 개별 선택 및 권한 설정  

 

15강 쉐어포인트 사이트 일반 사용법
-활용법 : 메인화면의 추천링크를 넣어줘야 함, 사용자 지정 앱 시작  관리자 , 폴더 로 관리11:00
-최상위는 문서라이브러리로 , 탭으로 구성 그림 참고
-자료업로드, 쉐어포인트 마이그레이션도구, 문서는 폴더 이동하고 생성하면 됨, 버전기록보기, 세부정보보기, 링크복사, 자동화(파워오토메이트), 열 수정, 동기화(쉐어포인트는 문서라이브러리 단위임),

출처 인프런

 

16강-쉐어포인트 추가 활용법
-알림, Teams 채널연결(링크복사), 승인요청, 일정연결, 

17강-쉐어포인트 고급
-BI, PowerAPPs, 11:17


 

[입문] Microsoft SharePoint 강의 로드맵

https://www.inflearn.com/roadmaps/395

 

[입문] Microsoft SharePoint 강의 로드맵 📌 - 인프런 | 로드맵

💡 SharePoint (커뮤니케이션/팀 등 협업 사이트) 로드맵 - 로드맵 | 인프런...

www.inflearn.com

 

 

 

 

 

 

 

 

 

 

 

728x90
Posted by 댕기사랑
,