develop custom_top_html:no
default debug random = 0 / type = READ / detected = READ
개발
2018-03-12 11:38:25

Python을 사용하여 Web Scraping하기

 

1. 크롤링 예제 대상

1.1. 상장사 리스트

1.2. 네이버 증권 종목분석

  • 네이버 금융에서 제공되는 코스피, 코스닥 상장사들의 재무재표, 주식 메타데이터(Financial Summary) 데이터
  • ex) SK하이닉스
  • 비동기 데이터 (ajax)
  • source : data_crawler/naver_stock_meta_info/crawler.py
  • 저장 : mysql

1.3. 네이버 증권 종목토론

  • 네이버 금융의 각 종목별 종목 토론실 게시판의 날짜, 제목, 투자의견, 글쓴이, 조회, 공감, 비공감, 내용 등 수집
  • 투자의견( 의견없음 매수, 강력매수, 매도, 강력매도, 중립 ) 을 라벨로서 기반하여 제목, 내용에 나타나는 단어를 분석하여 긍, 부정 단어를 확보하기 위한 학습용 데이터로 활용 가능
  • source : data_crawler/naver_stock_discussion/crawler.py
  • 저장 : mongodb

1.4. 네이버 증권 실시간 데이터

  • 장 마감 이후에도 실시간 데이터가 온다면 라이브 코딩

2. 오늘 예제에서 사용되는 Tool, Library

2.1. 상장사 리스트

import urllib2
import bs4
html = urllib2.urlopen(url).read()
len(html)
384272
print html[:1000]
<!doctype html public "-//w3c//dtd html 4.01 transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 
 
 
 
 
 
 
   
                <html lang="ko">
<head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=10" />
<title>전종목 시세 - Daum 금융</title>
<meta name="verify-v1" content="iXgHW7UooMcyeiV/Zb0Tk/yK2yB+IuA5/5GgIzGBEns=" >
<meta property="og:image" content="http://i1.daumcdn.net/img-media/mobile/meta/finance.png"/>
<link rel="stylesheet" href="http://s1.daumcdn.net/stock/css/common.css?ver=20160220214249" type="text/css">
<link rel="stylesheet" href="http://s1.daumcdn.net/stock/css/newHeader.css?ver=20160220214249" type="text/css">
<link rel="stylesheet" href="http://s1.daumcdn.net/stock/css/column.css?ver=20160220214249" type="text/css">
<link rel="stylesheet" href="http://s1.daumcdn.net/stock/css/trade.css?ver=20160220214249" type="text/css">
<script type="text/javascript" src="http://s1.daumcdn.net/stock/js/common.js?ve
soup = bs4.BeautifulSoup(html)
title = soup.find('title')
print title
print title.text
<title>전종목 시세 - Daum 금융</title>
전종목 시세 - Daum 금융
 
print len(soup.find_all('td'))
print len(soup.find_all('td','txt'))
1724
571

2.1.1. 기업 개수 미달, HTML파일을 끝까지 파싱하지 못한 상황

  • BeautfulSoup 함수호출시 파서를 ‘html.parser’ 로 지정해줌으로서 해결가능
soup = bs4.BeautifulSoup(html, 'html.parser')
print len(soup.find_all('td'))
print len(soup.find_all('td','txt'))
3580
1189
for i in soup.find_all('td','txt')[:20]:
    print i.text
able KQ Monthly Best 11 ETN
able Monthly Best 11 ETN
able Quant비중조절 ETN
able 우량주 Monthly Best 11 ETN
able 코스피200선물플러스 ETN
AJ네트웍스
AJ렌터카
AK홀딩스
ARIRANG 200
ARIRANG AC 월드(합성 H)
ARIRANG K100EW
ARIRANG KOSPI50
ARIRANG S&P; 배당성장
ARIRANG 고배당주
ARIRANG 단기유동성
ARIRANG 미국고배당주(합성 H)
ARIRANG 바벨 채권
ARIRANG 방어주
ARIRANG 선진국(합성 H)
ARIRANG 스마트베타 LowVOL

2.1.2. URL에서 code 추출

for i in soup.find_all('td','txt')[:20]:
    print i.text, i.a['href']
able KQ Monthly Best 11 ETN /item/main.daum?code=580004
able Monthly Best 11 ETN /item/main.daum?code=580003
able Quant비중조절 ETN /item/main.daum?code=580002
able 우량주 Monthly Best 11 ETN /item/main.daum?code=580005
able 코스피200선물플러스 ETN /item/main.daum?code=580001
AJ네트웍스 /item/main.daum?code=095570
AJ렌터카 /item/main.daum?code=068400
AK홀딩스 /item/main.daum?code=006840
ARIRANG 200 /item/main.daum?code=152100
ARIRANG AC 월드(합성 H) /item/main.daum?code=189400
ARIRANG K100EW /item/main.daum?code=141240
ARIRANG KOSPI50 /item/main.daum?code=122090
ARIRANG S&P; 배당성장 /item/main.daum?code=222170
ARIRANG 고배당주 /item/main.daum?code=161510
ARIRANG 단기유동성 /item/main.daum?code=190160
ARIRANG 미국고배당주(합성 H) /item/main.daum?code=213630
ARIRANG 바벨 채권 /item/main.daum?code=190150
ARIRANG 방어주 /item/main.daum?code=161490
ARIRANG 선진국(합성 H) /item/main.daum?code=195970
ARIRANG 스마트베타 LowVOL /item/main.daum?code=236460
company_dic = {}
for i in soup.find_all('td','txt'):
    company_dic[i.text] = i.a['href'].split('=')[1]
print len(company_dic)
company_dic[u'AK홀딩스']
1189
 
 
 
 
 
u'006840'

2.1.3. 위 과정 함수화시켜 kosdaq도 간편히 가져와보기

def get_company_list(url):
    soup = bs4.BeautifulSoup(urllib2.urlopen(url).read(),'html.parser')
    company_dic = {}
    for i in soup.find_all('td','txt'):
        company_dic[i.text] = i.a['href'].split('=')[1]
    return company_dic
 
kosdaq_dic = get_company_list(kosdaq_url)
for k, v in kosdaq_dic.items()[:20]:
    print k, v
이테크건설 016250
해덕파워웨이 102210
산성앨엔에스 016100
엔에이치스팩5호 215790
서부T&D; 006730
이스트아시아홀딩스 900110
웰크론 065950
아이리버 060570
대주산업 003310
우리이티아이 082850
흥국에프엔비 189980
CS 065770
시그네틱스 033170
성우전자 081580
신진에스엠 138070
바이오스마트 038460
동양이엔피 079960
심엔터테인먼트 204630
피제이메탈 128660
한창산업 079170

2.1.4. pymysql 을 이용한 mysql 세팅 및 db insert(replace)

import pymysql # pip install pymysql
mysql_host = "127.0.0.1"
mysql_user = "root"
mysql_passwd = "mysql"
mysql_db = "stock"
mysql_port = 3306
conn = pymysql.connect(host=mysql_host, user=mysql_user, passwd=mysql_passwd, db=mysql_db, port=mysql_port, charset='utf8')
conn.autocommit(True)
cur = conn.cursor()
 
'''
CREATE TABLE `COMPANY2` (
  `company_id` varchar(11) NOT NULL DEFAULT '',
  `company_name` varchar(255) DEFAULT '',
  `company_type` tinyint(10) DEFAULT NULL,
  PRIMARY KEY (`company_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
'''
 
for k,v in kosdaq_dic.items():
    cur.execute("replace into COMPANY2 (company_id, company_name, company_type ) values ('{}', '{}', '{}')".format( v.encode('utf-8'), k.encode('utf-8'), 0 ))
 
for k,v in company_dic.items():
    cur.execute("replace into COMPANY2 (company_id, company_name, company_type ) values ('{}', '{}', '{}')".format( v.encode('utf-8'), k.encode('utf-8'), 1 ))
cur.execute("""select * from COMPANY2""")
cur_tmp = cur.fetchall()
for i in cur_tmp[:10]:
    print i[0], i[1], i[2]
000020 동화약품 1
000030 우리은행 1
000040 KR모터스 1
000050 경방 1
000060 메리츠화재 1
000070 삼양홀딩스 1
000075 삼양홀딩스우 1
000080 하이트진로 1
000087 하이트진로2우B 1
000100 유한양행 1

2.2. 네이버 증권 종목분석

  • 네이버 금융에서 제공되는 코스피, 코스닥 상장사들의 재무재표, 주식 메타데이터(Financial Summary) 데이터
  • ex) SK하이닉스
  • 비동기 데이터 (ajax)
  • source : data_crawler/naver_stock_meta_info/crawler.py
  • 저장 : mysql
import requests
import urllib
import bs4
import json
import re
import crawlib
import datetime
import sys
import crawlib
import pymysql # pip install pymysql
mysql_host = "127.0.0.1"
mysql_user = "root"
mysql_passwd = "mysql"
mysql_db = "stock"
mysql_port = 3306
conn = pymysql.connect(host=mysql_host, user=mysql_user, passwd=mysql_passwd, db=mysql_db, port=mysql_port, charset='utf8')
conn.autocommit(True)
cur = conn.cursor()
def extract_table(html):
    soup = bs4.BeautifulSoup(html)
    th = soup.find_all("th","title")
    vertical_columns = [i.text.strip() for i in th]
 
    bg = soup.find_all("th",re.compile(r"^r"))[2:]
    horizon_columns = [crawlib.getOnlyDigit(i.text.strip()) for i in bg]
 
    cBk = [int(crawlib.getOnlyDigit(i.text)) for i in soup.find_all("td","num")]
 
    # colums_count_check
    if len(cBk) != (len(vertical_columns) * len(horizon_columns)):
        print(error)
        sys.exit()
       
    return vertical_columns, horizon_columns, cBk
 
 
def request_and_store(company_code, freq_typ, fin_typ=0):
    company_code = str(company_code).zfill(6)
    # zero padding 6
    print url
    headers = {
        'Accept-Language' : 'ko-KR,ko;q=0.8,en-US;q=0.6,en;q=0.4',
        'Accept-Encoding' : 'gzip, deflate, sdch',
        'X-Requested-With' : 'XMLHttpRequest',
        'Connection' : 'keep-alive',
        'Accept' : 'text/html, */*; q=0.01',
        'User-Agent' : 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.106 Safari/537.36',
        'Host' : 'companyinfo.stock.naver.com',
    }
    cookies = {
    }
    data_dic = {
    #     'freq_typ' : '''Y''',
    #     'fin_typ' : '''0''',
    #     'cmp_cd' : '''051910''',
    }
    data = ""
    for k, v in data_dic.items():
        data += urllib.quote_plus(k)+"="+urllib.quote_plus(v)+"&"
    res = requests.post(url, headers=headers, cookies=cookies, data=data)
    vertical_columns, horizon_columns, cBk = extract_table(res.content)
 
    cnt = 0
    print len(cBk)
    for value in cBk:
        vertical_i = cnt / len(horizon_columns)
        horizon_i = cnt % len(horizon_columns)
#         print vertical_columns[vertical_i], horizon_columns[horizon_i]
#         print value
        try:
            cur.execute("""replace into META (company_id, meta_type, meta_freq_type, meta_value, meta_date, meta_crawled_date ) values ('{}', '{}', '{}', '{}', '{}', '{}')""".format(
                    company_code, vertical_columns[vertical_i].encode("utf-8"), freq_typ , value, datetime.datetime.strptime(horizon_columns[horizon_i],"%Y%m"), datetime.datetime.now())
                        )
        except Exception as e:
            print e
        cnt += 1
    print cnt
cur.execute("""select * from COMPANY2""")
cur_tmp = cur.fetchall()
for i in cur_tmp[:3]:
    request_and_store(i[0],'Q')
    request_and_store(i[0],'Y')
256
256
256
256
256
256
256
256
256
256
256
256

2.3. 주기적 실행, 자동화

2.4. 네이버 증권 종목토론

  • 네이버 금융의 각 종목별 종목 토론실 게시판의 날짜, 제목, 투자의견, 글쓴이, 조회, 공감, 비공감, 내용 등 수집
  • 투자의견( 의견없음 매수, 강력매수, 매도, 강력매도, 중립 ) 을 라벨로서 기반하여 제목, 내용에 나타나는 단어를 분석하여 긍, 부정 단어를 확보하기 위한 학습용 데이터로 활용 가능
  • source : data_crawler/naver_stock_discussion/crawler.py
  • 저장 : mongodb
import logging
import pymongo
import crawlib
import time
from datetime import datetime
from gevent import monkey
monkey.patch_all()
from gevent.pool import Pool
 
collection = pymongo.MongoClient().stock.naver_discussion
 
class NaverCrawling(crawlib.Crawling):
    def get_item_list(self, cate, page):
        url = self.make_target_url(cate, page)
        soup = crawlib.getSoup(url)
        link_list = []
        for i in soup.find_all('tr',{'onmouseover':'mouseOver(this)'}):
            link = i.find_all('td')[1].a['href'].split('&st=&sw=&page')[0]
            link = crawlib.urljoin('http://finance.naver.com',link)
 
            # already exist this data
            if self.data_dic.has_key(link):
                print "exist", link
                continue
 
            self.data_dic[link] = {}
            self.data_dic[link]['date'] = i.find_all('td')[0].text.strip()
            self.data_dic[link]['title'] = i.find_all('td')[1].a['title'].strip()
            self.data_dic[link]['opinion'] = i.find_all('td')[2].text.strip()
            self.data_dic[link]['view'] = i.find_all('td')[4].text.strip()
            self.data_dic[link]['sympathy'] = i.find_all('td')[5].text.strip()
            self.data_dic[link]['unsympathy'] = i.find_all('td')[6].text.strip()
            self.data_dic[link]['_id'] = link
 
            link_list.append(link)
            # self.get_item(link)
 
        if len(link_list) == 0:
            return 'stop'
 
        pool = Pool(len(link_list))
        res = pool.map(self.get_item, link_list)
 
    def get_item(self, url, key=''):
        if not key:
            key = url
        soup = crawlib.getSoup(url)
        content = '\n'.join([i.text for i in soup.find_all('div','view_se')]).strip()
        user = soup.find('th','info').find('span').text.strip()
        nid = crawlib.get_param_from_url(url, 'nid')
        code = crawlib.get_param_from_url(url, 'code')
 
        self.data_dic[key]['content'] = content
        self.data_dic[key]['nid'] = nid
        self.data_dic[key]['code'] = code
        self.data_dic[key]['user'] = user
 
        print key, self.data_dic[key]['opinion']
        # runtime_check = time.time()
        collection.replace_one({"_id": key}, self.data_dic[key], upsert=True)
        # print time.time() - runtime_check
 
 
    # todo: mongo db library 화
    # todo: 최신글부터 가져오되 몇개이상(한페이지이상)  중복 감지시 stop
 
 
target_name = 'naver_stock_discussion'
naver_dicussion = NaverCrawling(target_name=target_name, base_url='http://finance.naver.com/item/board.nhn?', cate_param='code',
                                page_param='page', cate_list_path='category.txt', page_list=range(1, 1000))
 
 
naver_dicussion.crawling_cate_list(cate_delay=0, page_delay=0)
# 결과는 console 에서 확인

2.5. 네이버 증권 실시간 데이터

res = crawlib.har2requests('finance.naver.com.har') # 각자 크롬 개발자도구통해 받은 har 파일 경로 입력
# print res # 아래 코드 생성
import requests
import urllib
import json
from pprint import pprint
headers = {
    'Accept-Language' : 'ko-KR,ko;q=0.8,en-US;q=0.6,en;q=0.4',
    'Accept-Encoding' : 'gzip, deflate, sdch',
    'Connection' : 'keep-alive',
    'Accept' : '*/*',
    'User-Agent' : 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.87 Safari/537.36',
    'Host' : 'polling.finance.naver.com',
}
cookies = {
}
data_dic = {
}
data = ""
for k, v in data_dic.items():
    data += urllib.quote_plus(k)+"="+urllib.quote_plus(v)+"&"
res = requests.post(url, headers=headers, cookies=cookies, data=data)
res_str = res.content.decode('euc-kr').encode('utf-8')
res_json = json.loads(res_str)
pprint(res_json)
{u'result': {u'areas': [{u'datas': [{u'aa': 37807000000,
 
                                    
u'aq': 59460,
 
                                    
u'cd': u'035420',
 
                                    
u'cnsPer': 31.27,
 
                                    
u'cr': 0.47,
 
                                    
u'cv': 3000,
 
                                    
u'hv': 642000,
 
                                    
u'll': 446000,
 
                                    
u'lv': 630000,
 
                                    
u'ms': u'CLOSE',
 
                                    
u'mt': u'1',
 
                                    
u'nav': None,
 
                                    
u'nm': u'NAVER',
 
                                    
u'nv': 639000,
 
                                    
u'ov': 633000,
 
                                    
u'pbr': 8.78,
 
                                    
u'pcv': 636000,
 
                                    
u'per': 40.6,
 
                                    
u'rf': u'2',
 
                                    
u'sv': 636000,
 
                                    
u'tyn': u'N',
 
                                    
u'ul': 826000}],
 
                        
u'name': u'SERVICE_RECENT_ITEM'},
 
                       
{u'datas': [{u'aa': 37807000000,
 
                                    
u'aq': 59460,
 
                                    
u'cd': u'035420',
 
                                    
u'cnsPer': 31.27,
 
                                    
u'cr': 0.47,
 
                                    
u'cv': 3000,
 
                                    
u'hv': 642000,
 
                                    
u'll': 446000,
 
                                    
u'lv': 630000,
 
                                    
u'ms': u'CLOSE',
 
                                    
u'mt': u'1',
 
                                    
u'nav': None,
 
                                    
u'nm': u'NAVER',
 
                                    
u'nv': 639000,
 
                                    
u'ov': 633000,
 
                                    
u'pbr': 8.78,
 
                                    
u'pcv': 636000,
 
                                    
u'per': 40.6,
 
                                    
u'rf': u'2',
 
                                    
u'sv': 636000,
 
                                    
u'tyn': u'N',
 
                                    
u'ul': 826000}],
 
                        
u'name': u'SERVICE_ITEM'}],
 
            
u'pollingInterval': 60000,
 
            
u'time': 1458441607440},
 

u'resultCode': u'success'} 

 

 

 

 

 

 

 

 

 

-------------------------------------

꼬리말

* 게시글 내용 삭제레벨 강등

* 질문은 각 주제별 게시판에.

 

비트코인 암호화화폐 커뮤니티 땡글~ 땡글~

-------------------------------------

191
댓글 0
default debug random = 0 / type = READ / detected = READ

List of Articles
번호 분류 제목 추천 수 조회 수 글쓴이 날짜
1120 질문 ERC 토큰 private 세일 구현..           안녕하세요.   보통 ICO 하는 github 둘러보면, 프리세일이나 퍼블릭세일은 구현이 잘되어 있는데.   프라이빗세일은 안보이더라구요. (프라이빗이니까 당연한듯;)   하지만 토큰을 발... 2 0 751
rappaz
2018.05.03
1119 질문 이더와 이클의 주소와 프라이빗키 문의 안녕하세요. 전문지식이 필요해 땡글님들께 자문좀구합니다. 거래소(업빗) 내에서 이클을 이더로 오송금시, 오승금을 받은 이더지갑주소와 제대로갔을때의 이클지갑주소가 같다면 이종간체인에서... 5 0 1014
존버ㅠ
2018.05.03
1118 개발 전세계 거래소 코인 실시간차트 시세 한글버전과 코인검색 기능을 업그레이드 하였습니다.     탑빗에서 PC / 모바일 웹          고수님들께서 탑빗을 살펴보시고 따끔한 충고와 조언 부탁드리고자 합니다.    코인추가10000 거래소 100곳 업그레이드 예정입니다   사이트 : 탑빗 https... 8 file 6 1353
준형이아빠
2018.05.03
1117 개발 제1회 카르다노 코리아 밋업 공지 2년전 카르다노 에이다 프리세일을 위한 세미나 공지를 올린 후 2년만에 카르다노 생태계에 관심이 있는 개발사와 개발자 커뮤니티를 위한 제1회 카르다노 코리아 밋업 공지를 올리게 되어 너무 ... 6 file 1 925
opensearch
2018.05.03
1116 개발 블록체인기반 고유 코인과 지갑 제작 비밀송금/POW pos/ ICO 컨설팅 및 ERC20 토큰/스마트계약 제작         안녕하십니까, 블록체인 전문 개발자 이 동재입니다. 저는 국내에 몇 안되는 ico 프로젝트 리더 였으며, Trojan Blockchain Society의 공동 설립자입니다. 대학교과 과정과 오픈소스 공... file 0 860
ERC20
2018.05.02
1115 질문 사설 이더리움 구축관련 관련 질문이 있습니다. 반갑습니다.    geth를 이용한 private blockchain 구축을 구축을 한 후 궁금한게 있어서 질문 드립니다.    사설 블록체인 구축 후에 스마트 계약을 올려서 가스비 없이 트랙잭션을 서로 전송하... 4 0 973
수지아빠
2018.05.02
1114 질문 혹 코인개발 예제가 있나요?         긍금함에.. 한번 따라서라도 해보고 싶습니다. 혹 예제가 있다면 부탁드립니다. 감사합니다.   네이버에서  https://baek2sm.blog.me/221192050624  따라해봤는데....   제네시스 블럭에... 4 1 1147
Ragon!!!
2018.05.01
1113 질문 비트코인 소스로 알트코인 생성. 제네시스 블록은 어떻게 생성하나요? 시간 날때마다 틈틈히 비트코인 윈도우용으로 컴파일 하다가 온갖 에러에 많은 시간을 소비하다가 드디어 윈도우용 생성했습니다.   그런데 QT 실행하면 다음과 같이 되네요.   이렇게 해놓고 기... 5 file 0 1251
별빛바다
2018.05.01
1112 개발 VPS에서 파이썬 루프문을 안꺼지게 하는 방법 있나요? 안녕하세요. 파이썬으로 1초에 한번씩 확인하는 while 루프문이 있습니다.   SSH를 켜고 VPS에 업로드 한 뒤 $python3 test.py 라고 입력하면 루프문이 계속 실행되는게 나오잖아요~? 이 상태에... 6 0 681
억세풀
2018.05.01
1111 개발 웹 채굴 기능 웹사이트에 웹 채굴 기능을 추가했습니다. (이더리움 복권을 구매하시려는 분들은 상단 Lottery 메뉴를 클릭하시면 됩니다)     코인투펀은 메타마스크 로그인 기능을 사용하고 있습니다. 메타마... 12 file 12 1699
초밥매니아
2018.04.30
1110 개발 업비트(upbit)의 상장 코인 리스트를 가져오기     안녕하세요.   미세먼지가 많네요.  건강유의하시고요. 고수님들께 여쭙니다.   업비트의 코인리스트를 가져올려고 하는데요. 아래와 같이 urlopen()을 시도하면 원하는 coin에 대한 정보를 ... 5 0 4949
부자아들
2018.04.30
1109 개발 다크 코인 개발   허접한 코인 개발해봤자 수많은 먼지코인과 함께 휴지조각돼서 사라질 게 뻔하고~ 뭔가 특별한 게 필요한데......     모네로나 대시와 는  다르게 추적안되게, 추적을 하더라도 사실상 추적 ... 0 884
돈벼락치기
2018.04.30
1108 개발 - - 1 0 495
ooii12
2018.04.30
1107 개발 4/28 로빈8 (PUT) 밋업 후기입니다. 안녕하세요, 늘 땡글에서 많은 도움받고 있는 괴발개발입니다.   4/28 삼성동 M-Tower 에서 로빈8의 밋업행사가 있었습니다.   PUT는 로빈8에서 진행하는 프로젝트로 지난 1월에 이미 ICO를 성공... 2 file 1 1127
괴발개발
2018.04.30
1106 개발 전세계 실시간 코인 및 거래소 챠트/시세를 지원하는 모바일 웹 버전을 만들었습니다. *** 답변 댓글이 있을 때 글 내용 삭제시 경고 없이 계정이 정지됩니다. *** *** 개인정보가 포함된 경우 혹은 불법적인 요소의 수정은 가능합니다.*** ---------------------------------------... 8 file 6 1566
준형이아빠
2018.04.29
1105 질문 데탑에서 글카 2개로 채굴소소히 공부중입니다.. 현제 문제가 생겼는데   엔디비아 텍스트에 글카 1개만 설정해놓고하면 잘돌아가는데 엔디비아 텍스트에 글카 2개 설정해놓으면      화면같이 에러가 뜹니다.. 원래 두개다 잘돌아갔는데 드라이... file 0 635
다행이군
2018.04.29
1104 개발 현재까지 누적된 자산별 매수금액 을 알수있는 API 가 ... 두번째 ?     빗썸 인데요...   답변 ===&gt;   https://api.bithumb.com/info/user_transactions더보기 회원 거래 내역이렇게 있을겁니다.응답 json으로는 {&quot;status&quot; : &quot;0000&quot;,&quot;data&quot; : [{&quot;search&quot; : &quot;2&quot;,&quot;t... 0 1192
킴나라
2018.04.29
1103 개발 현재까지 누적된 자산별 매수금액 을 알수있는 API 가?     어떤 API 가 이런 역할을 하는지 알 수가 없네요...                   ------------------------------------- 꼬리말 * 게시글 내용 삭제시 레벨 강등 * 질문은 각 주제별 게시판에.   비... 5 0 589
킴나라
2018.04.29
1102 질문 코인허브 만들려고 합니다. 안녕하세요   https://github.com/ethersocial/ethersocial-pool     위 링크를 보고 따라해 봤습니다 그런대 저는 도메인은 없는 상태이고 사설 IP망에서 IP로 접속해서  테스트를 해보려고 합... 1 file 0 885
Miningwithme
2018.04.28
1101 개발 해커 정보 공유     바이러스 스크립트 랜섬웨어 걸려요 bitcoin hacking 유튜브 거기 적힌 url클릭금지 https://www.youtube.com/watch?v=_h-D3cEoY2A                                 ----------------------... 4 file 0 1474
돈벼락치기
2018.04.27
Board Pagination Prev 1 ... 32 33 34 35 36 37 38 39 40 41 ... 92 Next
/ 92
default debug random = 0 / type = READ / detected = READ