웹게임 크롤러 만들기
-
[python] 크롤러 예제2018.10.28
-
eRepublik 크롤링 페이지 만들기2018.09.01
[python] 크롤러 예제
복붙용.
출처: https://dojang.io/mod/page/view.php?id=1157
import requests # 웹 페이지의 HTML을 가져오는 모듈
from bs4 import BeautifulSoup # HTML을 파싱하는 모듈
# 웹 페이지를 가져온 뒤 BeautifulSoup 객체로 만듦
response = requests.get('https://pythondojang.bitbucket.io/weather/observation/currentweather.html')
soup = BeautifulSoup(response.content, 'html.parser')
table = soup.find('table', { 'class': 'table_develop3' }) # <table class="table_develop3">을 찾음
data = [] # 데이터를 저장할 리스트 생성
for tr in table.find_all('tr'): # 모든 <tr> 태그를 찾아서 반복(각 지점의 데이터를 가져옴)
tds = list(tr.find_all('td')) # 모든 <td> 태그를 찾아서 리스트로 만듦
# (각 날씨 값을 리스트로 만듦)
for td in tds: # <td> 태그 리스트 반복(각 날씨 값을 가져옴)
if td.find('a'): # <td> 안에 <a> 태그가 있으면(지점인지 확인)
point = td.find('a').text # <a> 태그 안에서 지점을 가져옴
temperature = tds[5].text # <td> 태그 리스트의 여섯 번째(인덱스 5)에서 기온을 가져옴
humidity = tds[9].text # <td> 태그 리스트의 열 번째(인덱스 9)에서 습도를 가져옴
data.append([point, temperature, humidity]) # data 리스트에 지점, 기온, 습도를 추가
data # data 표시. 주피터 노트북에서는 print를 사용하지 않아도 변수의 값이 표시됨
'웹게임 크롤러 만들기' 카테고리의 다른 글
구글 클라우드 서비스 이용 (VPS) 및 GUI 작업환경 설정 (1) | 2018.09.02 |
---|---|
eRepublik 크롤링 페이지 만들기 (0) | 2018.09.01 |
구글 클라우드 서비스 이용 (VPS) 및 GUI 작업환경 설정
구글 컴퓨트 엔진 (Compute Engine)을 대여하여 간단한 서버를 하나 구축하기로 했다. 아마존 (AWS), 구글, 마소 (Azure) 세가지 대표적인 서비스 중에서 구글을 선택한 건 1년간 유효한 300달러치 무료 크레딧을 주기 때문.. 1년간 가장 작은 규모의 서버 (vCPU 1개 + 10기가 + 리눅스)를 미국 지역에 개설할 수 있다. 당분간 트래픽 적고 서버 구축엔 웹페이지 제작 작업만 할 것이기 때문에 충분할 것으로 생각한다.
운영체제는 리눅스 16.04 LTS 버전으로 정했다... 별 이유 없다. 그냥 node.js 패키지 설치를 지원하기 때문이다. (나도 잘 모른다....)
이어서 우분투에서 GUI 환경을 이용하기 위해 VNC란걸 설치한다.
1 2 | $ sudo apt-get install gnome-settings-daemon gnome-terminal metacity nautilus gnome-panel vnc4server | cs |
느려서 좀 걸린다... 중간에 하나 설치의향을 묻는게 있는데, 그냥 Y 입력하면 된다.
설치가 끝나면 실행을 위해 아래와 같이 입력.
1 | $ vnc4server | cs |
해당 서버에 접속하기 위해 VNC viewer를 설치한다. 본인 환경에 적합한 것을 고르면 된다. (https://www.realvnc.com/en/connect/download/viewer/)
아, 접속 전에 우선 구글에서 고정아이피 설정을 해줘야 한다. 안그러면 나중에 바뀔 수 있단다.
1. VPC 네트워크 --> 외부IP 주소 탭으로 들어가서
2. 고정아이피로 설정을 하면 된다. 빨간박스 부분이 서버의 아이피다. (내 아이피는 가렸다.)
추가로 방화벽 규칙으로 들어가서 VNC를 위한 포트가 열려있는지도 확인해본다.
새 규칙 만들기로 들어가서 아래 그림처럼 설정해준다. 특정 컴퓨터(단일아이피)만 사용해서 접속한다면 소스 IP 범위를 제한하면 조금 더 안전할 것 같다.
이후 VNC Viewer를 열어서 new connection에 아이피:1 을 입력하고 접속하면 된다. :1은 처음으로 설정 된 VNC 계정을 의미하며 이후로 1,2,3,4 이렇게 늘릴 수 있다. (위의 포트 또한 5900+번호, 6900+번호 순으로 열어주면 된다.)
근데 VNC viewer로 처음 접속하면 아래 그림처럼 회색화면만이 똻 하고 나를 반겨준다.... 환경설정을 해주자.
VNC 설정을 해본적이 없으니 다른 블로그를 보고 베꼈다. 다음 파일을 수정하자. ~/.vnc/xstartup
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | vnc4server -kill :1 //구동중인 VNC 종료. vi ~/.vnc/xstartup 기존 내용 삭제 후 아래 내용을 입력. export XKL_XMODMAP_DISABLE=1 unset SESSION_MANAGER unset DBUS_SESSION_BUS_ADDRESS [ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup [ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources xsetroot -solid grey vncconfig -iconic & gnome-panel & gnome-settings-daemon & metacity & nautilus & gnome-terminal & 저장 후 vnc 재실행 vnc4server | cs |
VNC 재접속을 하면 아래와 같이 그나마 친숙한 화면이 나온다.
... 힘들다 나머진 다음에 하자.
'웹게임 크롤러 만들기' 카테고리의 다른 글
[python] 크롤러 예제 (0) | 2018.10.28 |
---|---|
eRepublik 크롤링 페이지 만들기 (0) | 2018.09.01 |
eRepublik 크롤링 페이지 만들기
node.js 공부할 겸, 심심풀이 할 겸 웹게임 크롤링 페이지를 하나 만들려고 한다.
이고브, http://egov4you.org/
이립박스, http://erepbox.russianwill.ru/
같은 크롤링 사이트 하나 만드는 것이 목표.
'웹게임 크롤러 만들기' 카테고리의 다른 글
[python] 크롤러 예제 (0) | 2018.10.28 |
---|---|
구글 클라우드 서비스 이용 (VPS) 및 GUI 작업환경 설정 (1) | 2018.09.02 |