일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- hive
- C언어
- 텐서플로
- 선형대수
- NumPy
- C
- recursion
- HelloWorld
- GRU
- collections
- python
- 딥러닝
- tensorflow
- Sort
- 그래프이론
- 하둡2
- 코딩더매트릭스
- scrapy
- hadoop2
- codingthematrix
- 하이브
- yarn
- Java
- 주식분석
- 알고리즘
- effective python
- RNN
- 파이썬
- LSTM
- graph
- Today
- Total
목록Python/Web Crawling (7)
EXCELSIOR
이번 포스팅은 앞의 04.Scrapy를 이용한 뉴스 크롤링하기의 번외편으로써, Python의 newspaper라는 모듈을 이용하여 뉴스 기사를 크롤링하는 방법을 포스팅하고자 한다. newspaper 모듈 소개 newspaper는 사용자가 지정한 url에서 text를 추출해주는 모듈이다. 자세한 내용은 newspaper 0.0.9.8에서 확인할 수 있다. 이 모듈을 사용하면 앞에 포스팅했던 Scrapy를 몰라도 바로 사용이 가능한 아주 좋은 모듈이다. 아래의 내용은 newspaper 0.0.9.8에서 확인할 수 있는 newspaper에 대한 소개이다. “Newspaper is an amazing python library for extracting & curating articles.” – tweeted ..
이번 포스팅은 앞의 포스팅인 [04. Scrapy를 이용한 뉴스 크롤링 하기]와 같은 내용이지만, Scrapy의 callback을 이용하여 크롤링한 url안에 뉴스기사를 크롤링 해오는 방법이다. 우선, 앞에서 포스팅한 내용 중 3번을 다시 보도록 하자.아래의 빨간 박스안의 내용에서 보듯이 해당 뉴스기사의 링크(url)을 크롤링한 뒤 다시 크롤링을 해주는 매우 귀찮은 방법을 사용했었다. 실제로 테스트를 할때마다 Scrapy 명령어를 두 번이나 입력해줘야 하고, pipelines.py에서 한번은 CsvPipeline 또한번은 MongoDBPipeline 클래스를 번갈아 바꿔주면서 테스트를 진행했어야 했다. 하지만, 이를 Scrapy의 callback을 이용해서 간단하게 해결할 수 있다. Callback에 관..
이번 포스팅은 앞의 게시글을 토대로 웹크롤링을 위한 환경설정 후 Scrapy를 이용하여 뉴스기사에 대한 크롤링을 하여 JSON, CSV, MongoDB에 저장하는 방법에 대한 글이다. 1. robots.txt (로봇 배제 표준)웹 크롤링에 앞서 크롤링하고자 하는 사이트가 크롤링이 가능한지 아닌지 부터 알아 보아야한다.이를 확인할 수 있는 것이 바로 '로봇배제표준'이라고 하고 'robots.txt'에서 확인할 수 있다.해당사이트 주소 뒤에 '/robots.txt'를 입력하면 된다. 로봇 배제 표준은 웹 사이트에 로봇이 접근하는 것을 방지하기 위한 규약으로, 일반적으로 접근 제한에 대한 설명을 robots.txt에 기술한다.이 규약은 1994년 6월에 처음 만들어졌고, 아직 이 규약에 대한 RFC는 없다.이..
BeautifulSoup와 Scrapy는 둘 다 웹 크롤링(Web Crawling)을 해주는 Python 패키지들이다. 1. BeautifulSoup VS Scrapy1) BeautifulSoup - html 문서에서 원하는 정보를 손쉽게 가져올 수 있는 방법을 제공한다.- 자동으로 인코등을 유니코드로 변환하여 UTF-8로 출력해준다.- lxml, html5lib 파서(Parser)를 이용한다.- https://www.crummy.com/software/BeautifulSoup/bs4/doc/ 에서 기본적인 사용법을 익힐 수 있다. 2) Scrapy - web scraper framework- 다양한 selector 지원- 파이프 라인- 로깅- 이메일- https://docs.scrapy.org/en/l..
1. 개발환경- Python Version : 2.7 - 크롤링 라이브러리 : BeautifulSoup4, Scrapy- 기타 : 아나콘다(Anaconda)를 이용한 가상환경(virtual environment) 설정 2. 아나콘다 설치① https://www.continuum.io/downloads 사이트에서 운영체제에 맞는 아나콘다를 설치 ② 가상환경(Virtual environment) 만들기 - Windows : 설치 후 Anaconda prompt를 실행한다.- Mac OS : 설치 후 Terminal을 실행한다.- Terminal/prompt 창에 아래의 명령어를 통해 웹 크롤링 개발환경을 설정할 가상환경을 생성한다. (저는 crawler라는 이름의 가상환경을 만들었습니다.) # 가상환경 생성..
1. 웹 환경1) 서버(Server): 서비스를 제공하는 컴퓨터 2) 클라이언트(Client): 서비스를 사용하는 사용자 또는 사용자의 단말기 3) 서버의 주소- URL(IP 와 Port로 구성)- ex) 192.168.x.x.:88 4) 서버의 종류(port)- 웹 서버(80)- 데이터베이스 서버(mysql:3306)- DNS 서버(1023, 53)- FTP 서버(21)- ssh 서버(22)- 메일 서버(110, 25, 143) 등[그림 1] Server & Client (출처: https://ko.wikipedia.org/wiki/클라이언트_서버_모델) 5) HTTP- HTTP(HyperText Transfer Protocol)는 WWW 상에서 정보를 주고 받을 수 있는 프로토콜(일종의 약속) 6) ..