node.js를 이용하 구글플레이 Crawling 방법 입니다.


Crawling을 위해서는 jsdom 이라는 모듈이 필요하며 설치 위치는 https://github.com/tmpvar/jsdom/tree/3.x 입니다.

(node.js에는 jsdom 3.x 버전만 설치 사용 가능 합니다.)


아래는 실제 코드 이며 사용법은 주석으로 되어 있습니다.


var jsdom = require('jsdom');

// ------ 중략 -----

app.get('/marketSeh',function(req,res){

var url_parts = url.parse(req.url,true);
var query = url_parts.query;
var gm_url;

gm_url = 'https://play.google.com/store/search?c=apps&q=' + escape(query.appname);
console.log(gm_url);

jsdom.env({
url:gm_url,
scripts: ['http://code.jquery.com/jquery.js'],
done: function (err, window) {           //페이지 호출이 완료되면 CallBack
var $ = window.jQuery;
var cards = $('.card-list .card'); //"card"로 시작하는 클래스를 포함하는 "card-list" 클래스 집합

// "." 은 클래스명 검색임을 "."이 없으면 태그명 검색임을 표시

var cardlen = cards.length;
var retvalue = []; //리턴값
var ii;

if(cardlen == 0){
res.json([{cover:'',title:'',subtitle:'',link:''}]);
return;
}

$.each(cards,function(i,card){        //세부 클래스들을 검색
var $card = $(this);
var _cover = $card.find('.cover-image').attr('src'); //이미지 url
var _title = $card.find('.title').attr('title'); //타이틀
var _subtitle = $card.find('.subtitle').text(); //서브타이틀
var _link = $card.find('h2 a').attr('href'); //링크
++i;
ii = i;


var obj = {cover:_cover.trim(),title:_title.trim(),subtitle:_subtitle.trim(),link:_link.trim() };

retvalue.push(obj);
});

if(cardlen = ii){
res.json(retvalue);
};
}
})

});


바로가기 앱: https://play.google.com/store/apps/details?id=com.orengineer.android.a209.floatingshotcut

'Node.js' 카테고리의 다른 글

가중치 구현 (DB,Node.js)  (0) 2015.10.23
Node.js Windows 10 에서 jsdom 3 설치 오류 해결  (0) 2015.09.05
시작합니다  (0) 2015.08.07






KEYCODE

DESCRIPTION

 

KEYCODE

DESCRIPTION

0

KEYCODE_UNKNOWN

43

KEYCODE_O

1

KEYCODE_MENU

44

KEYCODE_P

2

KEYCODE_SOFT_RIGHT

45

KEYCODE_Q

3

KEYCODE_HOME

46

KEYCODE_R

4

KEYCODE_BACK

47

KEYCODE_S

5

KEYCODE_CALL

48

KEYCODE_T

6

KEYCODE_ENDCALL

49

KEYCODE_U

7

KEYCODE_0

50

KEYCODE_V

8

KEYCODE_1

51

KEYCODE_W

9

KEYCODE_2

52

KEYCODE_X

10

KEYCODE_3

53

KEYCODE_Y

11

KEYCODE_4

54

KEYCODE_Z

12

KEYCODE_5

55

KEYCODE_COMMA

13

KEYCODE_6

56

KEYCODE_PERIOD

14

KEYCODE_7

57

KEYCODE_ALT_LEFT

15

KEYCODE_8

58

KEYCODE_ALT_RIGHT

16

KEYCODE_9

59

KEYCODE_SHIFT_LEFT

17

KEYCODE_STAR

60

KEYCODE_SHIFT_RIGHT

18

KEYCODE_POUND

61

KEYCODE_TAB

19

KEYCODE_DPAD_UP

62

KEYCODE_SPACE

20

KEYCODE_DPAD_DOWN

63

KEYCODE_SYM

21

KEYCODE_DPAD_LEFT

64

KEYCODE_EXPLORER

22

KEYCODE_DPAD_RIGHT

65

KEYCODE_ENVELOPE

23

KEYCODE_DPAD_CENTER

66

KEYCODE_ENTER

24

KEYCODE_VOLUME_UP

67

KEYCODE_DEL

25

KEYCODE_VOLUME_DOWN

68

KEYCODE_GRAVE

26

KEYCODE_POWER

69

KEYCODE_MINUS

27

KEYCODE_CAMERA

70

KEYCODE_EQUALS

28

KEYCODE_CLEAR

71

KEYCODE_LEFT_BRACKET

29

KEYCODE_A

72

KEYCODE_RIGHT_BRACKET

30

KEYCODE_B

73

KEYCODE_BACKSLASH

31

KEYCODE_C

74

KEYCODE_SEMICOLON

32

KEYCODE_D

75

KEYCODE_APOSTROPHE

33

KEYCODE_E

76

KEYCODE_SLASH

34

KEYCODE_F

77

KEYCODE_AT

35

KEYCODE_G

78

KEYCODE_NUM

36

KEYCODE_H

79

KEYCODE_HEADSETHOOK

37

KEYCODE_I

80

KEYCODE_FOCUS

38

KEYCODE_J

81

KEYCODE_PLUS

39

KEYCODE_K

82

KEYCODE_MENU

40

KEYCODE_L

83

KEYCODE_NOTIFICATION

41

KEYCODE_M

84

KEYCODE_SEARCH

42

KEYCODE_N

85

TAG_LAST_KEYCODE

바로가기 앱: https://play.google.com/store/apps/details?id=com.orengineer.android.a209.floatingshotcut


ER Studio 관계선 정리

-옵션에 따른 관계선의 모양 입니다.

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

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

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

바로가기 앱: https://play.google.com/store/apps/details?id=com.orengineer.android.a209.floatingshotcut

개발 Tool :  Android Studio 


adMob 배너 보여실때 하단에 여백 제가 방법 입니다.


기본: 아래와 같이 배너가 맨 아래에 붙지 안음





android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:ads="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingTop=
"@dimen/activity_vertical_margin"
tools:context=".MainActivity"

에서 

android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingTop="@dimen/activity_vertical_margin"
아래 paddingBottom , paddingTop 구문 삭제
수정: 하단 배너가 맨 아래에 붙음



바로가기 앱: https://play.google.com/store/apps/details?id=com.orengineer.android.a209.floatingshotcut

'안드로이드' 카테고리의 다른 글

Android Event KeyCode 설명  (0) 2015.08.26


바로가기 앱: https://play.google.com/store/apps/details?id=com.orengineer.android.a209.floatingshotcut

'Node.js' 카테고리의 다른 글

가중치 구현 (DB,Node.js)  (0) 2015.10.23
Node.js Windows 10 에서 jsdom 3 설치 오류 해결  (0) 2015.09.05
node.js로 GooglePlay Crawling  (0) 2015.08.31

+ Recent posts