오랜만에 글을 쓰는 것 같네요. 이번에는 지난 시간까지 만들어 둔 코드부분에 크롤링을 할 수 있게 하는 함수 crawl_page() 부분을 추가해 주도록 하겠습니다.
아래와 같이 함수를 정의해 주겠습니다. thread_name, page_url 을 인자로 받도록 하겠습니다.▼
만약에 전달 받은 page_url 값이 기존에 crawled 되어 있는 리스트에 존재하고 있다면, 중복해서 또 크롤링 해 줄 필요가 없겠죠? 그래서 없는 경우에만 크롤링할 수 있도록 조건을 달았습니다.▼
크롤링된 값에 없는 url 이면, 이제부터는 해당 url 을 크롤링 할 것이라고 사용자에게 알려주는 문구를 보여주게 하고 있습니다. 물론 크롤링 할 page_url 이 어떤 것인지도 함께 표기하도록 하였습니다. ▼
그리고 waiting list (queue) 에 현재 몇개의 값이 대기하고 있고, 현재까지 몇개의 페이지를 크롤링 하였는지도 함께 확인할 수 있게 보여주게끔 하였습니다. ▼
해당 url 을 앞으로 크롤링해야할 웨이팅리스트에 추가해 주도록 하였습니다.▼
그리고 해당 url 을 지워줍니다. ▼
그리고 나서는 해당 url 을 crawled 리스트에 추가해 줍니다. 중복 크롤링 하지 않게 하기 위함입니다.▼
추가해 주었으니 실제 리스트 파일들을 업데이트 해줍니다.▼
여기까지가 crawl_page() 부분입니다.
'Programming > Python Web Crawler for intermediate learners' 카테고리의 다른 글
Web Crawler 011 - Adding Links to Queue - 링크를 웨이팅 리스트에 추가하기. (0) | 2016.04.04 |
---|---|
Web Crawler 010 - Gather_Links 함수 만들기 (2) | 2016.04.04 |
Web Crawler 008 - Making the Spider boot up. - 스파이더 구동하기. (0) | 2016.03.25 |
Web Crawler 007 - Initialize the Spider information - 스파이더 초기화. (0) | 2016.03.25 |
Web Crawler 006 - Creating the spider - 스파이더 만들기. (4) | 2016.03.25 |