SearchResponse searchResponse = client.search(searchRequest, RequestOptions.DEFAULT);

SearchHits hits = searchResponse.getHits();

long totalCount = hits.getTotalHits();

System.out.println(totalCount);

for (SearchHit hit : hits) {

Map<String, Object> sourceAsMap = hit.getSourceAsMap();

String docName = (String) sourceAsMap.get("name");

System.out.println(docName);

}

'언어 > java' 카테고리의 다른 글

elasticsearch + java + index 삭제  (0) 2019.12.14
elasticsearch java api : total index search  (0) 2019.04.22
크롤링 => json 파일로 적재  (0) 2019.03.03
crawling + json  (0) 2019.02.13
자바 그룹스터디 4회차  (0) 2018.09.25

selenium_

언어/python2019. 3. 11. 22:59

나중에 사용할 테크닉

bar = self.chromeDriver.execute_script("return document.body.scrollHeight")
"""
while True:
print (b)
self.chromeDriver.execute_script("window.scrollTo({up}, {down});".format(up=u, down=b))
if b >= bar:
break
else:
try:

view_btn_more = self.chromeDriver.find_element_by_xpath('//*[@id="recruit_info_list"]/div[2]/a')

except:
pass
else:
view_btn_more.click()
break
u = b
b += 10


'언어 > python' 카테고리의 다른 글

페이스북 - python  (0) 2019.04.24
python + outlook  (0) 2019.03.31
2019년 3월 9일 ( 주말 프로젝트 )  (0) 2019.03.09
data crawling  (0) 2019.03.03
python + 지하철 + 이미지  (0) 2019.02.24

import requests
import yaml

class Attr:

@classmethod
def setting(cls):

try:

f = open(Attr.ymlFilePath(), "r", encoding="utf-8")
doc = dict(yaml.load(f))
except FileNotFoundError as e:
print (e)
exit(1)
else:
Attr.urlRequests(dict(doc.get("srv")))
return dict(doc.get("srv"))


@classmethod
def urlRequests(cls, srv):

try:

requests.get("http://{address}:{port}".format(address= srv.get("url"), port= srv.get("port")))
except requests.exceptions.ConnectionError as e:
print(e)
exit(1)
except requests.exceptions.RequestException as e:
print(e)
exit(1)


@classmethod
def ymlFilePath(cls):
filePath = "C:\\Users\\junhyeon.kim\\Desktop\\proj19\\configration\\srv.yml"
return filePath




from elasticsearch import Elasticsearch
from elasticsearch_dsl import Search
from elasticserver.Attribute import Attr
from requests import get
import os
import json
import pprint

class Elasvr:
attr = Attr.setting()
def __init__(self):
self.elasticSrvr = Elasticsearch(
hosts=[{"host":Elasvr.attr.get("url"),
"port":Elasvr.attr.get("port")}]
)


def srvHealthCheck(self):
srvInfo = dict(self.elasticSrvr.info())
health_check = dict(self.elasticSrvr.cluster.health())

result = json.dumps(
{
"name": srvInfo.get("name"),
"cluster_name": health_check.get("cluster_name"),
"status": health_check.get("status")
},
ensure_ascii=False,
indent=4
)

print (result)


def search(self, param_index, param_search):


srv = Search(using= self.elasticSrvr,
index= param_index).query("match", name=param_search)


#response = srv.execute().to_dict()["hits"]["hits"][0]
response = srv.execute().to_dict()["hits"]["hits"]
if response == []:
return response

else:
'''
_index, _type, _id, _score, _source

'''
print (response[0]["_source"])
return response[0]["_source"]

def __del__(self):
self.elasticSrvr.exists


def main():
enode = Elasvr()
enode.srvHealthCheck()
enode.search(param_index="hex_color_list", param_search="b")

if __name__ == "__main__":
main()







'언어 > python' 카테고리의 다른 글

python + outlook  (0) 2019.03.31
selenium_  (0) 2019.03.11
data crawling  (0) 2019.03.03
python + 지하철 + 이미지  (0) 2019.02.24
pysimplegui  (0) 2019.02.10

package eX_.com.sun;


import java.io.FileWriter;

import java.io.IOException;


import org.json.simple.JSONObject;

import org.jsoup.Connection;

import org.jsoup.Jsoup;

import org.jsoup.nodes.Document;

import org.jsoup.nodes.Element;

import org.jsoup.select.Elements;


public class CCrwl {

protected String jsonFilePath = "./src/eX_/com/sun/resltFile.json";

public void urlRequest() {

Connection.Response response = null;

FileWriter file = null;

JSONObject obj = null;

try {

obj = new JSONObject();

response = Jsoup.connect("https://www.naver.com/")

.method(Connection.Method.GET)

.execute();

Document htmlDoc = response.parse();

Element data = htmlDoc.selectFirst("ul.ah_l");

Elements datas = data.select("li.ah_item > a");

for (Element d : datas) {

obj.put(d.selectFirst("span.ah_r").text(),

            d.selectFirst("span.ah_k").text());

}

file = new FileWriter(jsonFilePath);

file.write(obj.toJSONString());

file.flush();

file.close();

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}



'언어 > java' 카테고리의 다른 글

elasticsearch java api : total index search  (0) 2019.04.22
elasticsearch java api search  (0) 2019.03.13
crawling + json  (0) 2019.02.13
자바 그룹스터디 4회차  (0) 2018.09.25
stack 을 활용한 swap  (0) 2018.09.02

data crawling

언어/python2019. 3. 3. 14:09

from bs4 import BeautifulSoup

from openpyxl import Workbook

from json import load

import requests

import time


from facebook.TargetString import TargetStr


class Facebook:


    def __init__(self):

        self.requestUrl = Facebook.jsnoFileRead()

        self.bsObject = self.urlRequests()

        self.targetString = TargetStr.target_string

        self.wrkBook = Workbook() # 엑셀 파일 생성


    @classmethod

    def jsnoFileRead(cls):

        try:

            f = open("./info.json", "r")

            json_doc = dict(load(f))

            url = "{url}/{path}?{param}".format(

                    url   = json_doc.get("url"),

                    path  = json_doc.get("path"),

                    param = json_doc.get("param"))


        except FileNotFoundError as e:

            print (e)

            f.close()

            exit(1)

        else:

            f.close()

            return url


    def urlRequests(self):

        html = requests.get(self.requestUrl)

        if html.status_code == 200:

            return BeautifulSoup(html.text, "html.parser")

        else:

            exit(1)


    def urlParcing(self):

        # work sheet 생성

        wrkSheet = self.wrkBook.create_sheet("decoding_list")


        table = self.bsObject.select("div#module-codecs > "

                                     "div#standard-encodings > "

                                     "table.docutils > "

                                     "tbody > "

                                     "tr")


        encoding_list = [ t.select_one("td").string for t in table ]

        for n, i in enumerate(encoding_list):

            result_text = self.targetString.decode(i, "ignore")

            # wrkSheet.cell(row=n+2, column=2).value = i

            # wrkSheet.cell(row=n+2, column=3).value = str(result_text)

            time.sleep(1)

            print (i, result_text)


    def __del__(self):

        self.wrkBook.save("facebook.xlsx")


def main():

    fnode = Facebook()

    fnode.jsnoFileRead()

    fnode.urlParcing()


if __name__ == "__main__":

    main()



'언어 > python' 카테고리의 다른 글

selenium_  (0) 2019.03.11
2019년 3월 9일 ( 주말 프로젝트 )  (0) 2019.03.09
python + 지하철 + 이미지  (0) 2019.02.24
pysimplegui  (0) 2019.02.10
python + crawling + elasticsearch  (0) 2019.02.04




from urllib.parse import urlparse

from selenium import webdriver

from bs4 import BeautifulSoup

import json

import time

class X:


    def __init__(self):

        self.ele = {

            "중동역": {"lat":None, "lng":None, "check": "False"},

            "부천역": {"lat":None, "lng":None, "check": "False"},

            "소사역": {"lat":None, "lng":None, "check": "False"},

            "역곡역": {"lat": None, "lng": None, "check": "False"},

            "온수역": {"lat": None, "lng": None, "check": "False"},

            "오류동역": {"lat": None, "lng": None, "check": "False"},

            "개봉역": {"lat": None, "lng": None, "check": "False"},

            "구일역": {"lat": None, "lng": None, "check": "False"},

            "구로역": {"lat": None, "lng": None, "check": "False"},

            "가산디지털단지역": {"lat": None, "lng": None, "check": "False"},

            "독산역": {"lat": None, "lng": None, "check": "False"},

            "금천구청역": {"lat": None, "lng": None, "check": "False"},

            "석수역": {"lat": None, "lng": None, "check": "False"},

            "관악역": {"lat": None, "lng": None, "check": "False"},

            "안양역": {"lat": None, "lng": None, "check": "False"},

            "명학역": {"lat": None, "lng": None, "check": "False"},

            "금정역": {"lat": None, "lng": None, "check": "False"},

            "범계역": {"lat": None, "lng": None, "check": "False"},

            "평촌역": {"lat": None, "lng": None, "check": "False"},

            "인덕원역": {"lat": None, "lng": None, "check": "False"},

        }

        self.webdriv = webdriver.Chrome(X.jsonRead())


    @classmethod

    def jsonRead(self):


        path = ""

        try:

            with open("./driv_path.json", "r") as json_file:

                doc = dict(json.load(json_file))

                path = doc.get("path")

        except FileNotFoundError as e:

            print (e)


        return path



    def urlReq(self):

        self.webdriv.get(url="https://www.google.com/")

        # 암묵적으로 웹 자원 로드를 위해 3초까지 기다려 준다

        self.webdriv.implicitly_wait(3)


        for k in self.ele.keys():

            # new window open

            windows_before = self.webdriv.window_handles[0]

            self.webdriv.execute_script("window.open('');")


            windows_after  = self.webdriv.window_handles[1]

            self.webdriv.switch_to.window(window_name=windows_after)

            self.webdriv.get(url="https://www.google.com/")

            time.sleep(2)

            self.webdriv.find_element_by_xpath('//*[@id="tsf"]/div[2]/div/div[1]/div/div[1]/input')\

                .send_keys(k)


            try:


                self.webdriv.find_element_by_xpath('//*[@id="tsf"]/div[2]/div/div[2]/div[2]/div/center/input[1]')\

                    .click()

            except:

                self.webdriv.find_element_by_xpath('//*[@id="tsf"]/div[2]/div/div[3]/center/input[1]')\

                    .click()


            finally:

                # =================================

                time.sleep(2)

                # e = self.webdriv.find_elements_by_css_selector("#hdtb-msb-vis > div > a")

                bsobj = BeautifulSoup(self.webdriv.page_source, "html.parser")

                e = bsobj.select("#hdtb-msb-vis > div > a")

                print (e)


                for n, i in enumerate(e):

                    if i.string == "지도":

                        print (n+1, i)

                        self.webdriv.find_element_by_xpath('//*[@id="hdtb-msb-vis"]/div['+ str(n+2) +']/a').click()

                        time.sleep(10)

                        url = urlparse(self.webdriv.current_url)

                        r = str(url.path).split("/")[4]\

                            .replace("@", "")\

                            .replace(",17z", "")\

                            .split(",")


                        self.ele[k]["lat"], _   = float(r[0]),   "위도"

                        self.ele[k]["lng"], _   = float(r[1]),   "경도"

                        self.ele[k]["check"], _ = "True", "데이터 들어감"

                        print (k)

                        # =================================

                        self.webdriv.close()

                        self.webdriv.switch_to.window(windows_before)



    def mkJson(self):


        with open("data.json", "w", encoding="utf-8") as outfile:

            json.dump(self.ele, outfile, ensure_ascii=False, indent=4)


    # 소멸자

    def __del__(self):

        self.webdriv.close()



=================================================================

from gmplot import gmplot

from gps_proj.map.m2 import X

# 위도 : 37.4881796

# 경도 : 126.7682477


class M:

    node = X()

    @classmethod

    def first(cls):

        cls.node.urlReq()


    @classmethod

    def doScatterPoint(cls):

        gmap = gmplot.GoogleMapPlotter(37.493988, 126.767433, 10)


        lat = [ i.get('lat') for i in cls.node.ele.values()]

        lng = [ i.get('lng') for i in cls.node.ele.values()]

        # gmap.scatter(lat, lng, "#3B0B39", size=40, marker=False)

        gmap.plot(lat, lng, "cornflowerblue", edge_width=6)

        gmap.draw("t.html")


def main():

    M.first()

    M.doScatterPoint()



if __name__ == "__main__":

    main()



'언어 > python' 카테고리의 다른 글

2019년 3월 9일 ( 주말 프로젝트 )  (0) 2019.03.09
data crawling  (0) 2019.03.03
pysimplegui  (0) 2019.02.10
python + crawling + elasticsearch  (0) 2019.02.04
프로젝트 코드 일부분  (0) 2019.01.20

crawling + json

언어/java2019. 2. 13. 06:17

package stuProj19021202;


import java.io.FileWriter;

import java.io.IOException;

import java.net.URL;


import org.json.simple.JSONArray;

import org.json.simple.JSONObject;

import org.jsoup.Connection;

import org.jsoup.Jsoup;

import org.jsoup.nodes.Document;

import org.jsoup.nodes.Element;

import org.jsoup.select.Elements;


import stuProj190212.Test;


public class Crlng {

// #########################################

static Connection.Response response = null;

static Document naverDoc = null;

static Element element = null;

static Elements elements = null;

static JSONArray jsonArry = new JSONArray();

static FileWriter fw = null;

// #########################################

public static void urlRequests() {

try {

response = Jsoup.connect("http://www.naver.com")

.method(Connection.Method.GET)

.execute();

naverDoc = response.parse();

element = naverDoc.selectFirst("ul.ah_l");

elements = element.select("li.ah_item a");

for (int i = 0; i < elements.size(); i++) {

JSONObject jsonObj = new JSONObject();

jsonObj.put(elements.get(i).select("span.ah_r").text(), elements.get(i).select("span.ah_k").text());

jsonArry.add(jsonObj);

}

System.out.println(jsonArry);

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

public static void mkJsonFile() {

String path = Crlng.class.getResource("").getPath();

try {

fw = new FileWriter(path + "mkjs.json");

fw.write(jsonArry.toJSONString());

fw.flush();

fw.close();

} catch (IOException e1) {

// TODO Auto-generated catch block

e1.printStackTrace();

}

System.out.println("json file 생성 success !!!");

}

}



'언어 > java' 카테고리의 다른 글

elasticsearch java api search  (0) 2019.03.13
크롤링 => json 파일로 적재  (0) 2019.03.03
자바 그룹스터디 4회차  (0) 2018.09.25
stack 을 활용한 swap  (0) 2018.09.02
list => sort  (0) 2017.12.26

pysimplegui

언어/python2019. 2. 10. 16:48

import PySimpleGUI as sg

import requests

from bs4 import BeautifulSoup


class UrlClass:

    element = []

    @classmethod

    def urlRequests(cls, url_parameter):

        html = requests.get(url_parameter)

        if html.status_code == 200:

            bsobj_parameter = BeautifulSoup(html.text, "html.parser")

            ul_ah_l = bsobj_parameter.select("ul.ah_l")

            for i in ul_ah_l:

                if 'data-list' in i.attrs:

                    for j in i.select("li.ah_item > a:nth-of-type(1)"):

                        tmp_dict = {"number":j.select_one("span.ah_r").string,

                                    "doc":j.select_one("span.ah_k").string}

                        cls.element.append(tmp_dict)


        return cls.element



class GUI:

    @classmethod

    def graphic(cls):

        layout = [

            [sg.Text("데이터 수집 대상 정보 입력", background_color="#a2e8f0", font=("Consolas", 18), justification="center")],

            [sg.Text("url", size=(15, 1)), sg.InputText("url", key="_URL_")],

            [sg.Button("DO crawling"), sg.Button("Exit")]

        ]

        window = sg.Window("나의 첫 simpleGui").Layout(layout)


        while True:

            event, values = window.Read()

            if event == "Exit":

                break

            elif event == "DO crawling":

                print("values['_url_'] => {}\n".format(values['_URL_']))


                sg.Popup('The values are', UrlClass.urlRequests(values['_URL_']))

        window.Close()



GUI.graphic()

'언어 > python' 카테고리의 다른 글

data crawling  (0) 2019.03.03
python + 지하철 + 이미지  (0) 2019.02.24
python + crawling + elasticsearch  (0) 2019.02.04
프로젝트 코드 일부분  (0) 2019.01.20
프로젝트 디렉토리  (0) 2019.01.13

2019 - 02 - 04 산출물

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

from elasticsearch import Elasticsearch

from json import loads, load

from urllib.parse import urlencode

import requests

from bs4 import BeautifulSoup

import re

from semi_proj.elasticSearchNode import Ela

class NMV:

    def __init__(self):

        self.__url  = None

        self.__path = None

        self.__param = {"sel":None, "page":None, "date":None, "tg":None}

        self.__bsobj = None

        self.element = []


    def paramSetting(self):

        with open("./info.json", "r", encoding="utf-8") as f:

            json_doc = loads(f.read())

            print (json_doc)

            self.__url  = json_doc["url"]

            self.__path = json_doc["path"]

            self.__param["sel"]  = json_doc["sel"]

            self.__param["date"] = json_doc["date"]

            self.__param["tg"]  = json_doc["tg"]

            f.close()


    def indexCreate(self):

        Ela.createIndex()


    def urlRequests(self):

        #page

        for p in range(1, 4):

            self.__param["page"] = p

            param = urlencode(self.__param)


            # https://movie.naver.com/movie/sdb/rank/rmovie.nhn?sel=pnt&date=20190202&tg=18&page=1

            requ = self.__url + self.__path + "?" +param

            html = requests.get(requ)

            if html.status_code == 200:

                self.__bsobj= BeautifulSoup(html.text, "html.parser")

                a_list = list(map(lambda x:x.attrs["href"], self.__bsobj.select("div.tit5 > a")))

                for i in a_list:

                    # print (i)


                    # ex: => https://movie.naver.com/movie/bi/mi/basic.nhn?code=10200

                    sub_url = self.__url + i

                    html = requests.get(sub_url)

                    if html.status_code == 200:

                        self.__bsobj= BeautifulSoup(html.text, "html.parser")

                        info = self.__bsobj.select_one("div.mv_info")

                        try:

                            movie_name1 = info.select_one("h3.h_movie > a").string

                        except AttributeError as e:

                            print (e)

                            pass

                        else:

                            movie_name2 = re.sub("[\n\r\t]", "", str(info.select_one("strong.h_movie2").string))

                            # 개요

                            # #content > div.article > div.mv_info_area > div.mv_info > dl

                            tmp_summary = self.__bsobj.select_one("#content > div.article > div.mv_info_area > div.mv_info > dl > dd > p")

                            tmp_dir = {

                                "movie_name1": movie_name1,

                                "movie_name2": movie_name2,

                                "jangr":None,

                                "nation":None,

                                "minute":None,

                            }

                            for i in range(1, 5):

                                # ========================

                                jangr  = {}  # 장르

                                nation = {}  # 제작 국가

                                minute = {}  # 런타임

                                day    = {}  # 개봉일

                                # ========================

                                tmp = tmp_summary.select_one("span:nth-of-type({})".format(i))

                                if  i != 3:

                                    tmp = tmp.select("a")

                                    tmp_list = list(map(lambda x:x.string, [x.string for x in tmp]))

                                    tmp_list = list(map(lambda x: re.sub("[\n\r\t ]", "", x.string), tmp_list))

                                    if i == 1:

                                        jangr["jangr"] = tmp_list

                                        tmp_dir["jangr"] = jangr["jangr"]

                                    elif i == 2:

                                        nation["nation"] = tmp_list

                                        tmp_dir["nation"] = nation["nation"]

                                    elif i == 4:

                                        ttmp_list = []

                                        for i in range(0, len(tmp_list), 2):

                                            ttmp_list.append(tmp_list[i] + tmp_list[i+1 ])

                                        day["day"] = ttmp_list

                                        tmp_dir['day'] = day["day"]

                                else: # i == 3

                                    tmp_list = list(map(lambda x:re.sub("[\n\r\t ]", "",x.string), tmp))

                                    minute["minute"] = tmp_list

                                    tmp_dir["minute"] = minute["minute"]

                            print (tmp_dir)

                            self.element.append(tmp_dir)

        Ela.dataInsert(self.element)


class T(NMV):

    pass


t = T()

# t.indexCreate()

t.paramSetting()

t.urlRequests()




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

json 파일


{

  "url": "https://movie.naver.com",

  "path": "/movie/sdb/rank/rmovie.nhn",

  "sel": "pnt",

  "date":"20190202",

  "tg":"18"

}


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

elasticsearch


from elasticsearch import Elasticsearch

import json

class Ela:

    es = Elasticsearch(hosts="192.168.240.129", port=9200)

    @classmethod

    def createIndex(cls):

        # ===============

        # 인덱스 생성

        # ===============

        cls.es.indices.create(

            index = "today19020402",

            body = {

                "settings": {

                  "number_of_shards": 5

                }

            }

        )

    @classmethod

    def indexExists(cls, paramindex):

        ####

        # 해당 index가 존재하는가?

        ####

        bool = cls.es.indices.exists(index=paramindex)

        print (bool)


    @classmethod

    def indexCount(cls):

        print (cls.es.count(index="today19020402"))


    @classmethod

    def dataInsert(cls, element):

        # ===============

        # 데이터 삽입

        # ===============

        for n, i in enumerate(element):

            res = cls.es.index(index="today19020402", doc_type="today", id=n + 1, body=i)

            print(res)


Ela.indexExists("today190204012")

Ela.indexCount()


'언어 > python' 카테고리의 다른 글

python + 지하철 + 이미지  (0) 2019.02.24
pysimplegui  (0) 2019.02.10
프로젝트 코드 일부분  (0) 2019.01.20
프로젝트 디렉토리  (0) 2019.01.13
project 일부 코드  (0) 2019.01.08

from bs4 import BeautifulSoup

from selenium import webdriver

from urllib.parse import urlparse

import requests as req

from yaml import load

import p01

class Cllct:

    def __init__(self):

        self.elastic = p01.Elastic

        self.url = None

        self.path = None

        self.bsObj = None

        self.element = []


    # elasticsearch (1)  srv connect

    def ElasticSrvConnect(self):

        self.elastic.ElasticSrvConnect()


    # elasticsearch (2)  healthCheck

    def ElasticsHealthCheck(self):

        self.elastic.ElasticsHealthCheck()


    # elasticsearch (3) Data insert

    def ElasticsInsertDocument(self):

        self.elastic.InsertDocument(x=self.element)


    # Instance method (1)

    def urlSetting(self):

        with open("./CONFIG/info.yaml", "r") as f:

            txt = load(f.read())

            self.url = txt["url"]

            self.path = txt["path"]

            f.close()


    # Instance method (2)

    def requestURL(self):

        html = req.get(url=self.url+self.path)

        if html.status_code == 200:

            self.bsObj = BeautifulSoup(html.text, "html.parser")

            mvLst = self.bsObj.find_all("div", {"class":"tit3"})

            for indx, vale in enumerate(mvLst):

                insertData = {"name":None, "numb":None, "showtime":None, "showday":None, "nation":None}

                showt, showd, nation = self.SubInfo(vale.a.attrs["href"]) # Function call

                insertData["name"] = vale.a.attrs["title"]

                insertData["numb"] = indx+1

                insertData["showtime"] = showt

                insertData["showday"] = showd

                insertData["nation"] = nation

                Result = "영화 이름 : {n}, 영화 순위 : {o}, 영화 상영시간 : {t}, 영화 상영날짜 : {d}, 제작 국가 : {s}".\

                    format(n = insertData["name"], o = insertData["numb"], t = insertData["showtime"],

                           d = insertData["showday"], s = insertData["nation"])

                print (Result)

                self.element.append(insertData)


    def SubInfo(self, subpath):

        nation = None   # 제작국가

        showtime = None # 상영시간

        showday = None  # 상영날짜

        html = req.get(self.url + subpath)

        if html.status_code == 200:

            bsObject = BeautifulSoup(html.text, "html.parser")

            mvInfo = bsObject.select_one("div.mv_info > dl.info_spec > dd > p")

            try:

                # 국가

                nation = mvInfo.select_one("span:nth-of-type(2) > a").string

            except:

                return showtime, showday, nation

            else:

                try:

                    # 상영시간

                    showtime = mvInfo.select_one("span:nth-of-type(3)").string

                except:

                    return showtime, showday, nation

                else:

                    try:

                        # 상영날짜

                        showday = mvInfo.select_one("span:nth-of-type(4) > a:nth-of-type(2)").attrs["href"]

                    except:

                        try:

                            showday = mvInfo.select_one("span:nth-of-type(3) > a:nth-of-type(2)").attrs["href"]

                        except:

                            return showtime, showday, nation

                        else:

                            showday = urlparse(showday).query

                            showday = str(showday).split("=")[1]

                            # return 순서 : 상영시간, 상영날짜, 국가

                            return showtime, showday, nation

                    else:

                        showday = urlparse(showday).query

                        showday = str(showday).split("=")[1]

                        # return 순서 : 상영시간, 상영날짜, 국가

                        return showtime, showday, nation


def main():

    cnode = Cllct() # 객체 생성

    cnode.ElasticSrvConnect()

    # cnode.ElasticsHealthCheck()

    # ------------------------------

    cnode.urlSetting()

    cnode.requestURL()

    cnode.ElasticsInsertDocument()

if __name__ == "__main__":

    main()


'언어 > python' 카테고리의 다른 글

pysimplegui  (0) 2019.02.10
python + crawling + elasticsearch  (0) 2019.02.04
프로젝트 디렉토리  (0) 2019.01.13
project 일부 코드  (0) 2019.01.08
Project 일부분  (0) 2019.01.05