테스트 사이트 - 개발 중인 베타 버전입니다

C언어를 이용한 웹 파싱 1

· 11년 전 · 4619 · 1
c언어를 이용한 파싱하는 법에 대한 강좌를 하려고 해요.
윈도우에서 하는 법이에요.

웹 언어는 배치프로그램을 만들 수 없죠.
웹 언어와 다른 도구를 이용하여 스케쥴러에 등록하여 배치를 할 수 있겠지만
웹 언어 하나만으로는 스케줄러에 등록할 수가 없어요
리눅스에서는 쉘상에서 php를 이용하여 crontab에 등록 할 수 있겠지만 윈도우는 안되죠.
리눅스든 윈도우든 웹언어를 이용하여 배치를 하려면 
웹언어 말고 c, python, 쉡스크립트, vb 등등 언어로 웹언어로 된 파일을 불러와서 스케줄러에 등록할 수는 있어요
이 방법은 웹서버가 있어야 가능하다는 것이에요.

웹서버가 없다면 불가능하죠.

파싱 프로그램을 만들기 위해 vb , c# , perl 등 메이저 언어가 있지만 
c언어 같은 마이너한 언어를 선택한 이유는 ansi 표준을 지키면 모든 os 에서는 사용가능한 프로그램을 만들 수 있다는
장점이 있어요

지금까지 개발을 하면서 커뮤니티에 강좌를 몇번 쓴 적이 있지만 끝까지 강좌를 마친적이 없어요.
이유는 바쁘다는 핑계였는데요.
이번만큼에 나 자신을 이겨보기 위해 끝까지 강좌를 쓸 것이에요.

이 강좌가 끝나면 아주 재미난 프로그램이 만들어질것이에요.

많은 프로그램들 중에 왜 파싱을 선택했는지...

파싱 프로그램 하나에는 여러가지 기술이 들어가죠.
정규식, db 관련, 문자열 다루기 , 웹 html 분석능력

php에서 curl을 쓰다고 윈도우에서 curl을 쓰기 위해서 엄청난 시간을 투자했어요.

윈도우에서 curl을 쓰고 싶으신 분은 이 강좌를 보면 쉽게 할 수 있을 것이에요.

중간 중간 필요하다면 동영상을 찍어서 올릴 것이에요.

글 보다는 그림 , 그림 보다는 동영상이 이해가 더 쉬워요

개발환경은 에디터플러스 와 GNUstep을 연동한 작업 환경이에요
GNUstep을 사용하는 이유는 objective c때문이에요.


윈도우에선 curl을 사용하려면 curl 프로그램을 다운 받아야겠죠.

리눅스는 기본적으로 탑재 되어 있지만 윈도우는 아니에요.
여기서 윈도우는 윈도우 서버가 아니고 개인용 윈도우에요.


위 사이트 접속  후 

Win32 - Generic ->  Win32 2000/XP zip 7.37.0 binary SSL SSH Edward LoPinto -> 

Downloads쪽으로 가서 자신에 os에 맞는 파일을 다운로드 하시면 되요.
저는 32-bit , curl-7.37.0-win32.zip 다운로드 받았어요

파일을 다운로드 받은 후 압축을 푼 후 
C 드라이브에 복사해서 붙여 넣기 하면 되요.


1, 2번 동영상 참조

동영상을 보면 cmd 상태에서는 한글이 깨진것을 볼 수 있어요.
이 부분을 처리 하려고 정말 고생많이 했는데요.

결론은 안되요

윈도우 -> command 에서 한글을 지원해줘야 하는데요.
제 컴에 있는 command는 안되네요.

혹시 이 부분을 찾으시는 분이 있다면 그냥 포기 하세요.

에디트플러스에서는 이상 없이 보이닌까요...

3번 동영상 참조
지금 보여드릴 동영상은 에디트플러스에서는 한글이 안깨지고 에디트와 c를 연동하여 
만들 소스에요.


동영상 보시면 한글이 정상적으로 출력 되죠.

이렇게만 하면 c에서 curl을 사용할 수 있어요

curl은 아주 강력한 도구죠.

오늘은 여기까지 하고 다음 강좌에서는 에디트플러스와 c 연동, 에디트플러스와 objective c 연동에 대해 
에디트플러스와 c와 curl 연동, 에디트플러스와objective c와 curl 연동에 대해 알아볼게요.

강좌를 진행하다 보면 현재는 curl로 되어 있지만 os 특성에 따라 웹 페이지를 불러오는 모듈은 변경 될 것이에요.

읽어주셔서 감사합니다.

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

댓글 1개

멋진 강의입니다. 감사합니다.

게시글 목록

번호 제목
32341
32339
32326
32325
32322
32319
32318
32316
32315
32313
32312
32311
32310
32304
32303
32300
32293
32292
32291
32285
32284
32275
32271
32268
32265
32261
32258
32257
32255
32254
32253
32251
32250
32249
32247
32246
32245
32244
32243
32242
32241
32240
32239
32238
32237
32236
32232
32229
32228
32227
32217
32215
32214
32213
32211
32207
32196
32193
32192
32190
32188
32186
32184
32173
32172
32171
32167
32165
32163
32162
32158
32157
32155
32151
32149
32135
32132
32127
32125
32122
32120
32119
32117
32116
32115
32114
32112
32111
32109
32107
32104
32103
32102
32101
32094
32089
20404
31036
8279
8268