컴퓨터 COMPUTER33 [파이썬을 이용한 웹크롤링] Twitter 트위터 데이터 크롤링 (TwitterScraper) 트위터에서는 플랫폼을 적극적으로 활용할 수 있도록 관련 API 를 제공하는데, Twitter API (*API 란? https://medium.com/@dydrlaks/api-%EB%9E%80-c0fd6222d34c) 를 이용하면 원하는 정보에 거의 다 접근할 수 있기 때문에 흔히 쓰인다. 하지만 트위터 서버의 과부하를 방지하기 위해 이용 규모에 엄격한 제한이 있어 1주일 이상 지난 트윗을 크롤링할 수 없으며 15 분에 000 트윗 이상 크롤링할 수 없다. 때문에 많은 트윗을 모아와야 하는 프로젝트에는 적합하지 않다. 따라서, 우리는 이와 비슷한 고민을 먼저 한 개발자가 오픈 소스 (*오픈 소스: 소프트웨어 혹은 하드웨어 제작자의 권리를 지키면서 원시 코드를 누구나 열람할 수 있도록 한 소프트웨어)로 개.. 2020. 7. 20. (Windows10) ArcPy 를 Jupyter Notebook 과 연결하기 https://gisday.wordpress.com/2016/07/18/setting-up-anaconda-pysal-with-arcgis-python-environment/ Setting up Anaconda, PySAL with ArcGIS Python environment This tutorial shows you how to set up conda environment to work with ArcGIS 10.4 and ArcGIS Pro 1.3. You can download a pdf copy of the tutorial with screenshots Download the 32-bit version of Anac… gisday.wordpress.com 오늘은 ArcGIS 에서 파이썬을 사용하.. 2020. 7. 9. 내 Conda Environment를 Jupyter Notebook 에서 사용하기 지난 게시글에서 conda environment 를 생성하고 그 안에서 geopandas 모듈을 설치해보았다. 그러나 막상 jupyter notebook 에서 이를 사용하려고 하니 그런 모듈이 없다는 에러가 뜬다. --------------------------------------------------------------------------- ModuleNotFoundError Traceback (most recent call last) in ----> 1 import geopandas as gpd ModuleNotFoundError: No module named 'geopandas' 이와 같은 에러가 발생하는 원인은 conda environment (이전 게시글에서 생성한 환경) 의 경로가 Jup.. 2020. 7. 7. Windows 10 - Anaconda, Geopandas 8.0 설치 중 HTTP 000 connection 문제, Failed with initial frozen solve 문제 1. HTTP 000 connection failed error 에러 예시 (base) C:\Users>conda update conda Collecting package metadata (current_repodata.json): failed CondaHTTPError: HTTP 000 CONNECTION FAILED for url Elapsed: - An HTTP error occurred when trying to retrieve this URL. HTTP errors are often intermittent, and a simple retry will get you on your way. If your current network has https://www.anaconda.com blocked,.. 2020. 7. 7. [Python] UnicodeDecodeError: 'cp949' codec can't decode byte 0x80 in position 2923: illegal multibyte sequence 아래와 같은 오류가 날 때가 있다. Encoding 문제로 화가 나서 정리해둔다. UnicodeDecodeError: 'cp949' codec can't decode byte 0x80 in position 2923: illegal multibyte sequence 우선 오류가 났던 코드 틀은 아래와 같이 간단하다. csv 파일을 읽기 시작하면서 바로 에러가 난 경우도 있고, 잘 읽다가 중간에 에러가 나기도 했다. 구글링해서 찾은 방법으로는 'r' 를 'rt' 로 바꾸어 텍스트로만 읽게 하거나, encoding = 'utf-8' 혹은 encoding = 'utf-16' 파라미터를 추가하는 것이 있었으나.. 나에게는 먹히지 않았음.. import csv ... # 기존 코드 inputFile = open('.. 2020. 3. 5. [파이썬을 이용한 토픽모델링] step3. Gensim 과 Mallet 을 활용한 LDA 모델링 (Python) 아래 step 2 까지 성공적으로 수행했다면 자신이 분석하고 싶은 텍스트 뭉터기의 json 파일이 있을 것이다. [파이썬을 이용한 토픽모델링] : step2. 웹크롤링 툴 (Octoparse) 을 이용해 데이터 수집하기 Octoparse 가입, Standard Free Trial (14일) 등록 후 다운로드 https://www.octoparse.com/ 위 링크에서 회원가입 후 (이메일 verification 단계 있음) Free Trial 중 Standard 형식을 선택 다운로드 받은 zip.. happy-chipmunk.tistory.com 이제 본격적으로 토픽모델링을 돌려보자. 데이터 업로드 jupyter notebook 을 실행시킨 후, Upload 버튼을 눌러 토픽모델링을 할 데이터를 jupy.. 2020. 2. 19. [파이썬을 이용한 토픽모델링] : step2. 웹크롤링 툴 (Octoparse) 을 이용해 데이터 수집하기 Octoparse 가입, Standard Free Trial (14일) 등록 후 다운로드 https://www.octoparse.com/ 위 링크에서 회원가입 후 (이메일 verification 단계 있음) Free Trial 중 Standard 형식을 선택 다운로드 받은 zip 파일을 풀고 OctoparseSetup.msi 파일을 더블클릭한다. instruction 에 따라간 후 설치가 완료되면 Octoparse 계정으로 로그인한다. 2. Task 만들기 로그인 후 나오는 첫 화면에서 Advanced Mode 의 +Task 버튼을 클릭한다. 데이터를 크롤링하고 싶은 사이트의 링크를 복사하여 Website 란에 붙여넣는다. 이 매뉴얼에서는 Web of Science 사이트에서 2016-2020년동안 발행.. 2020. 1. 29. [파이썬을 이용한 토픽모델링] step 1. Python, Jupyter Notebook 설치 토픽 모델링 (Topic Modeling) 이란? 자연어처리 (NLP:natural language processing) 에서 대표적인 텍스트 마이닝 기법 중 하나인 토픽 모델링은, 주어진 다량의 문서에서 주제를 뽑아내는 작업이다. 대표적인 예시로, 정해진 기간동안의 소셜 미디어에서 여론이 어떻게 형성되어 있는지 확인하거나, 다량의 고객 컴플레인 메일에서 주요 문제점들을 뽑아내고 싶을 때 토픽 모델링을 사용할 수 있다. 일일히 문서를 읽고 주제를 직접 알아내는 수고를 덜어주는 유용한 모델이다. 이 매뉴얼에서는 Latent Dirichlet Allocation (LDA) 라는 아주 대표적인 모델을 활용하여 2000년부터 2020년까지의 ‘재난’ 관련 영어 논문들의 연구주제 동향을 감지하고 분석 결과를 HT.. 2020. 1. 29. 14. [Deadlock Problem] : Deadlock 문제는 언제 발생하는가 Deadlock은 흔히 차선이 하나뿐인 도로 위에 마주보고 오도가도 못하는 자동차들에 비유를 한다. 1차선 도로에 두 자동차가 마주보고 서있다면, 두 자동차 중 하나는 차를 뒤로 빼주어야 한다. 이를 프로세스에 비유하자면, deadklock 문제가 발생하였을 때 프로세스들은 자원을 preempt 하고, rollback 해야 한다. Deadlock 문제는 특정 자원(resource)을 잡고 있으면서, 동시에 다른 특정 자원을 사용하기 위해 기다리는 blocked process 들에 의해 발생한다. 문제를 접근할 때 두가지만 기억하면 된다. 자원을 잡고 있는 (Holding), 자원을 기다리는 (Waiting). 모든 프로세스는 자원을 request 하여 --> hold 하여 사용하고 --> 사용을 다 하면.. 2019. 5. 11. 12. [Processor Scheduling(1)] : Scheduling 의 기본 개념 운영체제 공부에서의 스케줄링은, Request 들이 Server 의 처리를 기다리며 Queue 를 이루는 'Queueing model' 이 기본이 된다. 아래 그림을 보자. Request 는 파란색 큐에서 wait 하고 있고, Server 는 active 하게 그것들을 처리한다. 여기서 Server 의 종류를 두가지로 나눌 수 있다. nonpreemptible, preemptible server. preemptible을 직역하면 선점하는. 뭐 이런 뜻이다. 1. Nonpreemptible Server : 대표적으로 프린터의 예시를 기억하면 쉽다. 프린터는 A 라는 문서를 뽑는중에 B 라는 문서를 갑자기 뽑아내지 않는다. 아무리 B 를 뽑는게 더 급하더라도 말이다. 무조건 먼저 하던 작업을 끝내고, 순서대.. 2019. 4. 14. 11. [Multithreading(2)] : Thread 의 적용, User-level Threading 과 Kernel-level Threading Thread 를 적용하는 방법에는 두가지가 있다. OS 즉 커널 레벨 쓰레드가 쓰레드를 관리하는 것과 user 레벨(프로세스 내)에서 쓰레드를 관리하는 방법이다. user 레벨에서도 쓰레드의 적용이 가능한 이유는, 한 프로세스 내의 쓰레드들은 같은 메모리 공간을 공유하며, 오직 SP, PC, 레지스터와 같은 부분만 차이나기 때문이다. User-level Threading : 커널은 쓰레드의 존재를 알지 못한다. 프로세스 내의 Thread library 가 쓰레드에 관한 매니징을 모두 담당한다. 쓰레드의 관리에 있어서 커널이 아예 관여하지 않기 때문에 모드 스위칭이 적게 일어나 굉장히 가볍게 쓰레딩을 할 수 있다. 하지만 이러한 경우, 하나의 쓰레드만 작동을 멈춰도 그 프로세스 자체가 block 되며, .. 2019. 2. 6. 10. [Multithreading(1)] : 스레드의 등장 지난 정리까지 프로세스의 구조에 대해 상세하게 알아보았다. 프로세스는 크게 Image 와 Process context 로 나뉘었으며, ① Image 안에는 stack, heap, data, code 가 있었고 ② Process context 안에는 프로그램이 현재 어디까지 돌렸는지 가리키는 Program context 와 Kernel의 정보를 담는 Kernel context 가 있었다. 아래 그림을 참고해서 기억을 더듬어보자. Multiprocessor 의 등장으로 Multiprocessing이 가능해졌지만, 전통적인 프로세스 구조로는 한 프로세스가 오직 한 프로세서만 이용할 수 있기 때문에 Multiprocessing의 이점을 가져올 수 없었다. 새로운 프로세스를 생성하기 위해서는 커다란 자료구조를 복.. 2019. 2. 6. 이전 1 2 3 다음 반응형