Showing
1 changed file
with
37 additions
and
2 deletions
... | @@ -5,6 +5,11 @@ const machineRead = require('./machineRead'); | ... | @@ -5,6 +5,11 @@ const machineRead = require('./machineRead'); |
5 | 5 | ||
6 | const entities = new Entities(); | 6 | const entities = new Entities(); |
7 | 7 | ||
8 | +const searchURL = { | ||
9 | + "naver" : "https://search.naver.com/search.naver?", | ||
10 | + "google" : "https://www.google.com/search?" | ||
11 | +} | ||
12 | + | ||
8 | const keywordChecking = ( keywordText, $, elem ) => { | 13 | const keywordChecking = ( keywordText, $, elem ) => { |
9 | let tempCheck = false; | 14 | let tempCheck = false; |
10 | keywordText.split( ' ' ).forEach( ( Word ) => { | 15 | keywordText.split( ' ' ).forEach( ( Word ) => { |
... | @@ -19,6 +24,20 @@ const keywordChecking = ( keywordText, $, elem ) => { | ... | @@ -19,6 +24,20 @@ const keywordChecking = ( keywordText, $, elem ) => { |
19 | return false; | 24 | return false; |
20 | } | 25 | } |
21 | 26 | ||
27 | +const google = ( searchResult, $, elem , defaultURL ) => { | ||
28 | + searchResult.passage = entities.decode( $( elem ).parent().parent().parent().text()).trim(), | ||
29 | + searchResult.url = decodeURIComponent( $( elem ).attr( "href" ) ); | ||
30 | + searchResult.title = entities.decode( $( elem ).children("div").text() ); // title 캐오기 수정 가능 | ||
31 | + | ||
32 | + if( searchResult.url.indexOf( "/url?q=" ) === 0 ) { | ||
33 | + searchResult.url = searchResult.url.replace( "/url?q=", "" ); | ||
34 | + } else if( searchResult.url.indexOf( "/search?" ) === 0 ) { | ||
35 | + searchResult.url = "https://google.com" + searchResult.url; | ||
36 | + } else { | ||
37 | + searchResult.url = defaultURL; | ||
38 | + } | ||
39 | +} | ||
40 | + | ||
22 | const naver = ( searchResult, $, elem , defaultURL ) => { | 41 | const naver = ( searchResult, $, elem , defaultURL ) => { |
23 | searchResult.title = $( elem ).parent().attr( "title" ); | 42 | searchResult.title = $( elem ).parent().attr( "title" ); |
24 | searchResult.passage = entities.decode( $( elem ).parent().parent().parent().text()).trim(), | 43 | searchResult.passage = entities.decode( $( elem ).parent().parent().parent().text()).trim(), |
... | @@ -44,6 +63,7 @@ const searchToResult = (searchResult, result, keywordCheck) => { | ... | @@ -44,6 +63,7 @@ const searchToResult = (searchResult, result, keywordCheck) => { |
44 | result.push( searchResult ); | 63 | result.push( searchResult ); |
45 | } | 64 | } |
46 | } else if( keywordCheck ) { | 65 | } else if( keywordCheck ) { |
66 | + | ||
47 | }} | 67 | }} |
48 | 68 | ||
49 | const getHtmlMain = ( main, keywordText, html, defaultURL, findSearchResult ) => { | 69 | const getHtmlMain = ( main, keywordText, html, defaultURL, findSearchResult ) => { |
... | @@ -66,7 +86,7 @@ search.naver = ( keywordText ) => { | ... | @@ -66,7 +86,7 @@ search.naver = ( keywordText ) => { |
66 | return new Promise( async ( resolve, reject ) => { | 86 | return new Promise( async ( resolve, reject ) => { |
67 | let naverMain = "#main_pack strong", | 87 | let naverMain = "#main_pack strong", |
68 | result = [], | 88 | result = [], |
69 | - naverURL = "https://search.naver.com/search.naver?query=" + encodeURI( keywordText ); | 89 | + naverURL = searchURL.naver + "query=" + encodeURI( keywordText ); |
70 | rp( { | 90 | rp( { |
71 | "uri" : naverURL, | 91 | "uri" : naverURL, |
72 | } ) | 92 | } ) |
... | @@ -77,5 +97,20 @@ search.naver = ( keywordText ) => { | ... | @@ -77,5 +97,20 @@ search.naver = ( keywordText ) => { |
77 | }) | 97 | }) |
78 | } | 98 | } |
79 | 99 | ||
100 | +search.google = ( keywordText ) => { | ||
101 | + return new Promise( ( resolve, reject ) => { | ||
102 | + let googleMain = "#main a", | ||
103 | + result = [], | ||
104 | + googleURL = searchURL.google + "q=" + encodeURI( keywordText ) | ||
105 | + | ||
106 | + rp( { | ||
107 | + "uri" : googleURL, | ||
108 | + }) | ||
109 | + .then( ( html ) => { | ||
110 | + result = getHtmlMain( googleMain, keywordText, html, googleURL, google ); | ||
111 | + resolve( result ); | ||
112 | + }) | ||
113 | + }) | ||
114 | +} | ||
80 | 115 | ||
81 | -module.exports = search | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
116 | +module.exports = search; | ||
... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
-
Please register or login to post a comment