반응형

“제 2의 노드JS 노린다” 오픈소스 런타임 환경 ‘번’이란?

https://www.itworld.co.kr/news/258112

 

“제 2의 노드JS 노린다” 오픈소스 런타임 환경 ‘번’이란?

노드JS(node.js)와 데노(Deno)의 새로운 경쟁자가 등장했다. 자바스크립트 및 타입스크립트의 런타임 기술인 ‘번(Bun)’이 그 주인공

www.itworld.co.kr

노드JS(node.js)와 데노(Deno)의 새로운 경쟁자가 등장했다. 자바스크립트 및 타입스크립트의 런타임 기술인 ‘(Bun)’이 그 주인공이다. 
 

ⓒ Getty Images Bank 
베타 버전으로 공개된 번은 노드JS나 데노와 유사한 역할을 하며, 번들러, 트랜스파일러, 패키지 매니저 같은 자바스크립트 코드를 위한 종합 기술을 제공한다. 특히 성능을 높이고, 빠르게 시작할 수 있게 만든 것이 특징이다.

번의 공식 홈페이지에 따르면 “번은 전 세계 자바스크립트를 브라우저 밖에서 실행하고, 미래 인프라에서 활용할 수 있도록 성능을 높이고 복잡성을 줄인 기술”이라고 소개됐다. 번 개발진은 이런 구조 덕에 개발자가 보다 간편하게 생산성을 높일 수 있을 것이라 기대하고 있다. 또한 궁극적으로 로컬 컴퓨터, 서버, 엣지 등에서 실행되는 자바스크립트 및 타입스크립트 기반 앱과 스크립트를 대체할 수 있다고 설명했다. 

번은 노드 API 기능의 90%를 지원하고 있으며, 자체 내장된 API로 fetch, WebSocket, ReadableStream 등을 제공한다. 지그(Zig)라는 로우레벨 언어로 작성된 번은 웹킷 프로젝트의 자바스크립트 코어 엔진을 사용한다. 또한 NPM, SQLite, HTTP, 웹소켓(WebSocket)용 클라이언트와 JSX/타입스크립트의 트랜스파일러를 지원한다. 

번 개발진은 “번은 지그 언어를 사용해 메모리나 제어 흐름을 관리하고 있기 때문에, 개발자는 소프트웨어를 더욱 빠르게 개발할 수 있을 것”이라며 “노드JS나 데노가 사용하는 V8 기반 기술보다 번의 속도가 더 빠를 것”라고 밝혔다. 

원문보기:
https://www.itworld.co.kr/news/258112#csidx8977b9ea249046bbfaa56c90270aa86 

 

반응형
반응형

“제 2의 노드JS 노린다” 오픈소스 런타임 환경 ‘번’이란?

https://www.itworld.co.kr/news/258112

 

“제 2의 노드JS 노린다” 오픈소스 런타임 환경 ‘번’이란?

노드JS(node.js)와 데노(Deno)의 새로운 경쟁자가 등장했다. 자바스크립트 및 타입스크립트의 런타임 기술인 ‘번(Bun)’이 그 주인공

www.itworld.co.kr

노드JS(node.js)와 데노(Deno)의 새로운 경쟁자가 등장했다. 자바스크립트 및 타입스크립트의 런타임 기술인 ‘(Bun)’이 그 주인공이다. 
 

ⓒ Getty Images Bank 
베타 버전으로 공개된 번은 노드JS나 데노와 유사한 역할을 하며, 번들러, 트랜스파일러, 패키지 매니저 같은 자바스크립트 코드를 위한 종합 기술을 제공한다. 특히 성능을 높이고, 빠르게 시작할 수 있게 만든 것이 특징이다.

번의 공식 홈페이지에 따르면 “번은 전 세계 자바스크립트를 브라우저 밖에서 실행하고, 미래 인프라에서 활용할 수 있도록 성능을 높이고 복잡성을 줄인 기술”이라고 소개됐다. 번 개발진은 이런 구조 덕에 개발자가 보다 간편하게 생산성을 높일 수 있을 것이라 기대하고 있다. 또한 궁극적으로 로컬 컴퓨터, 서버, 엣지 등에서 실행되는 자바스크립트 및 타입스크립트 기반 앱과 스크립트를 대체할 수 있다고 설명했다. 

번은 노드 API 기능의 90%를 지원하고 있으며, 자체 내장된 API로 fetch, WebSocket, ReadableStream 등을 제공한다. 지그(Zig)라는 로우레벨 언어로 작성된 번은 웹킷 프로젝트의 자바스크립트 코어 엔진을 사용한다. 또한 NPM, SQLite, HTTP, 웹소켓(WebSocket)용 클라이언트와 JSX/타입스크립트의 트랜스파일러를 지원한다. 

번 개발진은 “번은 지그 언어를 사용해 메모리나 제어 흐름을 관리하고 있기 때문에, 개발자는 소프트웨어를 더욱 빠르게 개발할 수 있을 것”이라며 “노드JS나 데노가 사용하는 V8 기반 기술보다 번의 속도가 더 빠를 것”라고 밝혔다. 

원문보기:
https://www.itworld.co.kr/news/258112#csidx8977b9ea249046bbfaa56c90270aa86 

 

반응형
반응형

브라우저 화면 드레그 안되게 css

 

.unselectable {
  -webkit-user-select: none; /* Safari */
  -ms-user-select: none; /* IE 10+ */
  user-select: none;
}

.all {
  -webkit-user-select: all;
  -ms-user-select: all;
  user-select: all;
}
<head>
<style type="text/css">
.no-drag {
	-ms-user-select: none; 
	-moz-user-select: 
	-moz-none; 
	-webkit-user-select: none; 
	-khtml-user-select: none; 
	user-select:none;
}
</style>
</head>
<body>
   <p class="no-drag">드래그를 할 수 없습니다.</p>
   <p>드래그를 할 수 있습니다.</p>
</body>

 

반응형
반응형

NFT - 암호화폐 Cryptocurrency

 

대체 불가능 토큰(Non-fungible token, NFT)이란 블록체인 기술을 이용해서 디지털 자산의 소유주를 증명하는 가상의 토큰(token)이다. 그림·영상 등의 디지털 파일을 가리키는 주소를 토큰 안에 담음으로서 그 고유한 원본성 및 소유권을 나타내는 용도로 사용된다. 즉, 일종의 가상 진품 증명서.

대체불가능한 토큰은 고유성을 지니며, 동일품이 존재할 수 없는 주민등록증과 비슷하다. NFT는 거래내역을 블록체인에 영구적으로 남김으로써 그 고유성을 보장받는다

디지털 자산을 NFT로 만드는 것을 '민팅(Minting)'이라 표현하는데, 토큰(token)이 '대안화폐'를 의미하는 것에 착안해 역시 '화폐를 주조한다'는 뜻을 지닌 영단어를 사용하는 것이다.

https://www.technologyreview.kr/what-is-nft/

 

NFT가 도대체 뭐야? - MIT Technology Review

디지털 파일을 유일무이한 작품으로 바꿀 수 있는 NFT에 대한 관심이 커지고 있다. NFT는 도대체 무엇일까?

www.technologyreview.kr

NFT는 ‘non-fungible token’의 약자로, ‘대체불가토큰’ 혹은 ‘대체불가능토큰’으로 번역된다.

대체가능(fungible)한 토큰들은 각기 동일한 가치와 기능을 가진다. 서로 교환이 가능하며, 동일 단위의 1:1 교환이 발생할 경우 사실상 교환이 발생하지 않았던 것과 다름이 없다. 명목화폐, 비트코인·이더 등의 통상적 암호화폐, 귀금속, 채권 등이 이에 해당된다.

반면 대체불가능(non-fungible)한 토큰들은 각기 고유성을 지닌다. 발권자, 비행편, 좌석위치 등이 전부 특정되어 있으므로 동일품이 아예 존재할 수 없는 항공권과 비슷하다. NFT는 암호화된 거래내역을 블록체인에 영구적으로 남김으로써 고유성을 보장받는다. 특정 개인이나 기관으로부터 임의의 인증을 받음으로써 고유성을 보장받는 전통 방식과 다르다. 아무나 복제할 수 있는 ‘디지털 파일’에 대해서도 ‘고유 소유권’을 발행하는 데에 사용될 수 있는 기술이라는 점이 주목을 받았다.

NFT 발행에 현재 가장 널리 사용되는 블록체인 플랫폼은 이더리움이다. 이더리움과 같은 개방형 블록체인을 통해 NFT를 발행하면 고유성이 탈중앙적으로 보장된다는 의의도 추가된다. 물론 폐쇄형(허가형) 블록체인을 통해 발행된 NFT들도 존재한다.

한편, 대체가능성은 추적가능성(traceability)이나 가분성(divisibility)과는 구분된다.

  • 추적가능성: 모든 NFT는 추적가능하지만, 추적가능한 모든 토큰이 NFT가 되는 것은 아니다. 특정 지폐의 유통경로를 알 수 있다고 해서 명목화폐가 NFT로 기능하진 않는다. 2001년 포트워스에서 발행된 1달러와 2021년 워싱턴DC에서 발행된 1달러는 동일한 1달러다.
  • 가분성: NFT가 처음 개발될 당시에는 토큰을 분할할 수 없었으나 (항공권을 반으로 찢어 둘로 나눌 수 없듯이), 분할소유를 가능케 하는 NFT 모델들이 시장의 수요에 따라 빠르게 출시되었다. 따라서 불가분성을 NFT의 특징으로 보기는 힘들어졌다.

왜 화제인가?

NFT 시장에 어마어마한 양의 자본이 들어오기 시작하고 있다. 소유권이 거래될 수 있는 대상으로 지정될 수 있는 자산의 폭이 급격히 확대됨에 따라 기존의 상식들이 파괴되는 중이다.

최근 6930만달러에 낙찰된 NFT 아트 ‘나날들: 첫 5000일’

NFT에 대한 우려들

  • 투기 광풍: 신규 투기·투자의 장이 열림에 따라 쏟아져 들어오는 ‘눈 먼 돈’의 비중이 적지 않다는 비판이 있다. NFT의 잠재력에 대해서 “아주 큰 기대”를 품고 있는 비플마저 지금 당장의 시장 상황은 ‘버블’이라 생각한다고 밝혔다.
  • 환경문제: NFT의 발행·유통으로 인해 발생하는 PoW(proof-of-work) 기반 블록체인 활동의 전력 소비가 지나치다는 보고가 이어지고 있고, 이에 따라 NFT 작품의 판매를 취소하거나 보류하는 아티스트들이 늘어나고 있다. 전력소비량이 훨씬 낮은 PoS(proof-of-stake) 기반의 블록체인들이 없는 것은 아니나, 이더리움을 비롯한 대부분의 블록체인들은 아직 PoW 방식을 택하고 있다. 작년 12월 이더리움은 PoS로의 전환을 꾀하고 있다고 발표했다.
  • 법적 문제: NFT의 발행에는 대상 파일에 대한 저작권이 필요하지 않기 때문에 원작자가 모르는 사이에 본인의 작품이나 소유물이 NFT로 발행되어 거래되는 문제가 생길 수 있다. 또한 NFT와 지식재산권의 관계, NFT 소유권의 영구성과 원작의 저작권 시효의 충돌, NFT와 묶여 거래된 저작권의 법적 실효성 등 세계 각국의 법원에서 심도 있게 논의되어야 할 다양한 문제들이 산재해 있다.
  • 안전성: 블록체인이 해킹에서 완전히 자유로운 기술은 아니므로 NFT 위조·변조의 위험이 아예 없다고 할 수는 없다. 소규모의 개방형 블록체인을 기반으로 한 NFT들의 경우 더더욱 취약하다.
  • 영구성: NFT를 통해 취득한 소유권은 반영구적이라고 볼 수 있겠으나, 소유대상의 ‘원본’이 소실될 우려는 언제든지 존재한다. 온라인 디지털 파일의 경우 특히 그렇다. 최고 입찰가 27억을 넘긴 잭 도르시의 트윗의 경우, 그가 삭제 버튼을 누르거나 트위터가 서비스를 종료하면 ‘작품’의 원본이 하루아침에 사라질 수 있다.

단·장기 전망

적어도 한동안은 NFT 시장에 어마어마한 자본이 밀려들어올 것으로 보인다. 장기적 전망을 논하기엔 아직 정보가 부족하지만, 긍정론자들이 적진 않다. 신규 투기·투자의 장을 열었다는 점과 별개로도 잠재적 적용처가 많은, 실용성이 높은 기술이기에 더더욱 그렇다.

반응형
반응형

프레젠테이션( ppt )을 비디오로 변환

https://support.microsoft.com/ko-kr/office/%ED%94%84%EB%A0%88%EC%A0%A0%ED%85%8C%EC%9D%B4%EC%85%98%EC%9D%84-%EB%B9%84%EB%94%94%EC%98%A4%EB%A1%9C-%EB%B3%80%ED%99%98-c140551f-cb37-4818-b5d4-3e30815c3e83

 

프레젠테이션을 비디오로 변환

비디오 파일로 저장 슬라이드를 만들고 포함할 시간 및 설명과 레이저 포인터 동작을 기록했으면 비디오 파일을 만들 준비가 되었습니다. 파일 메뉴에서 저장을 선택하여 모든 최근 작업이 Power

support.microsoft.com

프레젠테이션을 녹음/녹화하는 경우 모든 요소(설명, 애니메이션, 포인터 움직임, 시간 등)가 프레젠테이션 자체에 저장됩니다. 기본적으로 프레젠테이션은 사용 대상이 PowerPoint에서 시청할 수 있는 비디오가 됩니다.

따라서 프레젠테이션을 볼 수 있는 비디오로 전환하는 두 가지 옵션이 있습니다.

  • 프레젠테이션을 비디오 파일 형식으로 저장/내보내기(.mp4 또는 .wmv).
  • 프레젠테이션을 PowerPoint 쇼(.ppsx) 파일로 저장합니다. (PowerPoint 쇼가 슬라이드 쇼에 전체 화면으로 표시되어 즉시 볼 수 있습니다.)

비디오 파일로 저장

슬라이드를 만들고 포함할 시간 및 설명 레이저 포인터 동작을 기록했으면 비디오 파일을 만들 준비가 되었습니다.

 

https://www.microsoft.com/ko-kr/videoplayer/embed/RE2neJI?market=ko-kr&maskLevel=20&pid=ocpVideo1-innerdiv-oneplayer

 

www.microsoft.com

  1. 파일 메뉴에서 저장을 선택하여 모든 최근 작업이 PowerPoint 프레젠테이션 형식(.pptx)으로 저장되었는지 확인합니다.
  2. 파일 > 내보내기 > 비디오 만들기를 클릭합니다. 또는 리본의 녹음/녹화 탭에서 비디오로 내보내기를 클릭합니다.
  3. 비디오 만들기 제목 아래의 첫 번째 드롭다운 상자에서 완성된 비디오의 해상도와 관련된 원하는 비디오 품질을 선택합니다. 비디오 품질이 높을수록 파일 크기가 커집니다. 테스트를 통해 사용자의 요구를 충족하는 품질을 확인하는 것이 좋습니다.옵션해결 방법표시
    Ultra HD(4K)* 3840 x 2160, 최대 파일 크기 큰 모니터
    Full HD(1080p) 1920 x 1080, 대용량 파일 크기 컴퓨터 및 HD 화면
    HD(720p) 1280x720, 중간 파일 크기 인터넷 및 DVD
    Standard(480p) 852 x 480, 최소 파일 크기 휴대용 장치
    * Ultra HD(4K) 옵션은 를 사용하는 경우만 사용할 Windows 10.
  4. 비디오 만들기 제목 아래의 두 번째 드롭다운 상자는 프레젠테이션에 설명과 시간이 포함되는지 여부를 알려줍니다. 필요한 경우 이 설정을 전환할 수 있습니다.
    • 시간이 지정된 설명을 녹음/녹화하지 않은 경우 기본적으로 값은 기록된 시간 및 설명 사용 안 함입니다.
    • 각 슬라이드에 소요되는 기본 시간은 5초입니다. 각 슬라이드에 걸리는 시간(초) 상자에서 해당 시간을 변경할 수 있습니다. 상자 오른쪽에 있는 위쪽 화살표를 클릭하여 기간을 늘리거나 아래쪽 화살표를 클릭하여 기간을 줄입니다.
    • 시간이 지정된 설명을 녹음/녹화한 경우 기본적으로 값은 기록된 시간 및 설명 사용입니다.
  5. 비디오 만들기를 클릭합니다.
  6. 파일 이름 상자에 비디오의 파일 이름을 입력하고, 이 파일이 포함될 폴더를 찾은 다음 저장을 클릭합니다.
  7. 파일 형식 상자에서 MPEG-4 비디오 또는 Windows Media 비디오를 선택합니다.팁:   긴 비디오의 경우 밤에 만들 수 있습니다. 이렇게 하면 다음 날 아침에 준비됩니다.
  8. 화면 아래쪽의 상태 표시줄을 확인하여 비디오 만들기의 진행 과정을 추적할 수 있습니다. 비디오의 길이 및 프레젠테이션의 복잡성에 따라 비디오를 만들 때 최대 몇 시간이 걸릴 수 있습니다.
  9. 새로 만든 비디오를 재생하려면 지정한 폴더 위치로 이동한 다음, 파일을 두 번 클릭합니다.

PowerPoint 쇼로 저장

다른 사용자가 PowerPoint 파일을 열면 편집 모드가 아닌 슬라이드 쇼에 전체 화면이 표시됩니다. 조회자는 즉시 프레젠테이션을 볼 수 있습니다.

  1. 파일 메뉴에서 저장을 선택하여 모든 최근 작업이 PowerPoint 프레젠테이션 형식(.pptx)으로 저장되었는지 확인합니다.
  2. 파일 메뉴에서 다른 이름으로 저장을 선택합니다.
  3. PowerPoint 쇼 파일을 저장할 폴더 위치를 선택합니다.
  4. 파일 형식 상자에서 PowerPoint 쇼(*.ppsx)를 선택합니다.
  5. 저장을 선택합니다.

프레젠테이션을 비디오로 변환하는 이유

고화질 버전의 프레젠테이션을 전자 메일에 첨부하거나, 웹에 게시하거나, CD/DVD에 구워 동료나 고객에게 제공하려는 경우 프레젠테이션을 비디오로 재생하도록 저장할 수 있습니다.

프레젠테이션을 MPEG-4 비디오 파일(.mp4) 또는 .wmv 파일로 저장할 수 있습니다. 두 형식은 모두 널리 지원되며 인터넷을 통해 스트리밍할 수 있습니다.

프레젠테이션을 비디오로 기록할 때는 다음과 같은 팁을 활용할 수 있습니다.

  • 음성 설명과 레이저 포인터의 움직임을 비디오에 기록하고 시간을 지정할 수 있습니다.
  • 멀티미디어 파일의 크기와 비디오의 품질을 제어할 수 있습니다.
  • 동영상에 애니메이션  전환을 포함할 수 있습니다.
  • 컴퓨터에 PowerPoint가 설치되어 있지 않아도 프레젠테이션을 볼 수 있습니다.
  • 프레젠테이션에 포함된 비디오는 특별히 제어하지 않아도 제대로 재생됩니다.
  • 프레젠테이션의 콘텐츠에 따라 비디오를 만드는 데 시간이 걸릴 수 있습니다. 프레젠테이션의 길이가 길고 애니메이션, 전환, 미디어 콘텐츠가 포함된 경우 만드는 시간이 더 오래 걸립니다. 그러나 비디오를 만드는 동안에도 PowerPoint를 계속 사용할 수 있습니다.

비디오에 포함되지 않는 프레젠테이션의 요소

다음 항목은 PowerPoint를 사용하여 만드는 비디오에 포함되지 않습니다.

  • 이전 버전의 PowerPoint에 삽입된 미디어. 이를 포함하려면 미디어 개체를 변환하거나 업그레이드하면 됩니다.
  • 예를 들어 PowerPoint 2007을 사용하여 미디어를 삽입한 경우 이를 연결하여 프레젠테이션에서 재생할 수 있습니다.  그러나 파일을 비디오로 내보내면 연결된 미디어가 삭제됩니다.  파일을 새 파일 형식으로 변환(파일 탭을 클릭한 다음 정보 아래에 있는 변환 클릭)하거나 미디어 개체를 마우스 오른쪽 단추로 클릭한 후 업그레이드하도록 클릭하면 파일을 포함한 상태로 올바르게 내보낼 수 있습니다.
  • QuickTime 미디어(ffdShow라는 타사 QuickTime 코덱이 설치되어 있고 호환성에 최적화된 경우 제외)
  • 매크로
  • OLE/ActiveX 컨트롤

비디오를 만든 후 수행할 작업

비디오를 만든 후 다음 방법을 사용하여 비디오를 다른 사용자와 공유할 수 있습니다.

Microsoft 비디오 공유 사이트에 저장

비디오 파일을 만든 후 비디오 공유 사이트에 업로드할 수 있습니다. Microsoft Stream 조직의 사람들이 비디오를 업로드, 보기 및 공유할 수 있는 엔터프라이즈 비디오 서비스입니다. Microsoft 365 또는 교육 구독자는 에서 이 서비스에 Microsoft 365용 PowerPoint. 

  1. 파일 > 내보내기를 선택한 다음 Microsoft Stream에 게시를 선택합니다.
  2. 비디오의 제목과 설명을 입력합니다.
  3. 조직의 다른 사용자에게 비디오를 볼 수 있는 권한을 부여할지 여부를 포함하여 다른 옵션을 설정합니다.
  4. 게시 단추를 선택합니다.
  5. 업로드 프로세스는 비디오 길이에 따라 몇 분 정도 걸릴 수 있습니다. PowerPoint 창의 맨 아래에 있는 상태 표시줄에서 진행률이 추적되고, 업로드가 완료되면 PowerPoint에 메시지가 표시됩니다.
  6. 메시지를 클릭하면 Microsoft Stream의 비디오 재생 페이지로 바로 이동됩니다.
반응형
반응형

 

게임·요리·패션·건강관리 등 개인 방송의 장르가 다양해지면서 관련 플랫폼 시장이 폭발적으로 성장하고 있어요. 이를 통해 자신을 콘텐츠화해 막대한 부를 쌓는 개인 크리에이터들도 많아지면서 “퇴사하고 유튜브할 거야!”라는 우스갯소리도 등장했는데요. 이러한 트렌드를 지칭하는 키워드가 바로 이번에 소개해드릴 ‘셀피노믹스’예요.

 

‘셀피노믹스’(Selfinomics)는 개인(self)과 경제학(economics)을 합친 신조어인데요. 개인이 자신의 강점을 활용해 콘텐츠를 만들고, 이를 통해 수익을 내는 경제활동을 의미해요. 유튜버, 틱톡커, 인스타그래머 등과 같은 개인 크리에이터들이 특정 기업이나 직업군에 소속되지 않고 주체적으로 수익을 내고 있다는 것을 내포하고 있죠!

 

셀피노믹스 시대에는 개인이 직접 콘텐츠가 돼 자신의 강점을 선보이고 이를 바탕으로 경쟁하면서 성공에 이를 수 있어요. 교육부와 한국직업능력개발원이 발표한 ‘2020년 초·중등 진로 교육 현황 조사’에 따르면, 유튜버·BJ·스트리머 등 크리에이터가 희망 직업 4위(6.3%)에 올랐을 정도예요. 이런 흐름 속에서 기업들도 연예인이 아닌 인플루언서들을 통해 신상품 협찬과 광고 등을 하는 경우가 많아지고 있어요.

 

미국 마케팅 기업 미디어킥스는 SNS 인플루언서 마케팅 시장 규모가 2016년 25억 달러에서 2020년 100억 달러로 급성장했다고 발표했을 만큼 셀피노믹스는 계속해서 발전하고 있습니다. 다만, 개인 방송 간의 지나친 조회 수 경쟁, 많은 가짜 뉴스나 선정적·폭력적인 콘텐츠가 양산되고 있다는 어두운 측면도 있어 주의성도 함께 요구되고 있어요.

 

 '큐'레터가 픽한 '트'렌드 '키'워드! 큐레터 큐트키 코너로 발행된 글이에요. 요즘 트렌드 용어 알기 쉽게 설명해드릴게요 😉

반응형
반응형

예전 방식이라 잘되지 않는다. 

다른 url로 했을때 데이터는 잘 가져왔다. 

css 보안이 걸려있는듯. 

 

##  인스타그램 이미지 크롤링
#    
##
import os
import sys
import konlpy
import pandas as pd
import numpy as np
os.environ['JAVA_OPTS'] = 'Xmx4096M'
    
## 시간 표시  ##################################### 
import time
import datetime
now = datetime.datetime.now()

timeserise = time.time()
timeserise = str(int(timeserise))
print(timeserise)
print(now)
#################################################  


#작업하는 경로(위치)가 어디인지 확인
print(os.getcwd())

prePath = "./Project/instagram_cr/"
file_name = prePath + "outputfile0.txt" 

# 라이브러리 추가
from bs4 import BeautifulSoup  #불러온 데이터를 구분지어 원라는 데이터 출력
from selenium import webdriver #Chromedriver를 사용하여, 자동화 시스템 구동
## chrome 버전 안맞으면 아래와 같은 에러 발생함. chromedriver 버전 확인 필수
#  selenium.common.exceptions.SessionNotCreatedException: Message: session not created: This version of ChromeDriver only supports Chrome version 94
# Current browser version is 105.0.5195.102 with binary path C:\Program Files\Google\Chrome\Application\chrome.exe
# 
# GoUrl : https://chromedriver.storage.googleapis.com/index.html?path=105.0.5195.52/
##


from urllib.request import urlopen
from urllib.parse  import quote_plus # ASCII 형태로 자동 변형
import requests
import shutil
 


testurl_01 = "https://www.instagram.com/explore/tags/"
testurl_02 = input("Please input the word to search for : ")
testurl_03 = testurl_01 + quote_plus(testurl_02)


print(testurl_03)

## 아래 오류때문에 추가함. options
#  USB: usb_device_handle_win.cc:1048 Failed to read descriptor from node connection: 시스템에 부착된 장치가 작동하지 않습니다. 
## options start
options = webdriver.ChromeOptions()
options.add_experimental_option("excludeSwitches", ["enable-logging"])
#browser = webdriver.Chrome(options=options)
## options end 

#driver_01 = webdriver.Chrome()
driver_01 = webdriver.Chrome(options=options)
driver_01.get(testurl_03)

html_01 = driver_01.page_source
#print(html_01)

Source_01 = BeautifulSoup(html_01,"html.parser")
#Source_01 = BeautifulSoup(html_01,"lxml")
#Source_01 = BeautifulSoup(html_01)

time.sleep(5)

#print(Source_01)
print(Source_01.prettify())
 
o = open(prePath +'result_list.txt', 'w', encoding='utf-8')
o.write("")
o.write(Source_01.prettify())
o.close()    




var_list = [1, 3, 5, 7, 9]
for ii in var_list:
    print("----------------------------------------")


Demo_insta = Source_01.select('._a3wf._-kb.segoe') 
print(Demo_insta)

for each_div in Source_01.findAll('div',{'class':'list'}):
    print(each_div)


"""
x_1 = 1

for i in Demo_insta:
    print("https://www.instagram.com/" + i.a['href'])
    #img_01 = i.select_one('_aagt').img['src']
    #print(img_01)
"""

driver_01.close()
반응형
반응형

로컬 크롬 버전 확인 : chrome://version/

 

크롬드라이브 다운로드       https://sites.google.com/a/chromium.org/chromedriver/downloads  

 

반응형

+ Recent posts