pyspider 웹 페이지 찾기
4420 단어 파충류
pyspider
# pyspider
pyspider all &
아니면 그 애니메이션 사이트를 비교했을 때,pyspider의 가장 큰 장점은 디버깅이 매우 편리하다는 것이다. 다만 디버깅 속도가 앞의 속도를 얻지 못한다는 것이다
#!/usr/bin/env python
# -*- encoding: utf-8 -*-
# Created on 2018-06-03 21:52:13
# Project: test
from pyspider.libs.base_handler import *
class Handler(BaseHandler):
crawl_config = {
}
@every(minutes=24 * 60)
def on_start(self):
self.crawl('http://www.mmonly.cc/ktmh/hzw/list_34_1.html', callback=self.index_page)
@config(age=10 * 24 * 60 * 60)
def index_page(self, response):
#
for each in response.doc('.title a').items():
self.crawl(each.attr.href, callback=self.detail)
#
url = response.doc('#pageNum > a:nth-last-child(2)').attr.href
if url:
self.crawl(url, callback=self.index_page)
@config(age=10 * 24 * 60 * 60)
def detail(self, response):
#
#print response.doc('#contbody > div > div > a > img').attr('src')
self.crawl(response.url+'?time=1', callback=self.detail_page)
#
next_url = response.doc('#nl a').attr.href
#print next_url
#for each in response.doc('.pages a:last').items():
if next_url != None and not next_url.endswith('##'):
self.crawl(next_url, callback=self.detail)
@config(priority=2)
def detail_page(self, response):
return {
"img": response.doc('p img').attr('src')
}
코드 단순 분석: - def on_start (self) 방법은 입구 코드입니다.웹 컨트롤러에서run 단추를 눌렀을 때 이 방법을 실행합니다. -self.crawl(url,callback=self.index_page) 이 방법은 API를 호출하여 새 추출 작업을 생성하는 것입니다. 이 작업은 추출 대기열에 추가됩니다. -def index_페이지(self,response) 이 방법은 Response 대상을 가져옵니다.response.doc는pyquery 대상의 확장 방법입니다.pyquery는 jQuery와 유사한 대상 선택기입니다. -def detail_페이지 (self,response) 가 결과 집합 대상을 되돌려줍니다.이 결과는 기본적으로resultdb 데이터베이스에 추가됩니다. (시작할 때 지정한 데이터베이스가 없으면 기본적으로 sqlite 데이터베이스를 호출합니다.너도 다시 쓸 수 있어on_result (self,result) 방법으로 저장 위치를 지정합니다.
더 많은 지식: - @every(minutes=24*60,seconds=0) 이 설정은 scheduler(스케줄러)on_start 방법은 매일 한 번 실행됩니다. - @config (age=10 * 24 * 60 * 60) 이 설정은 scheduler (스케줄러) 이request (요청) 기한이 10일이라는 것을 알려줍니다. 10일 안에 이 요청을 만나면 무시합니다.이 매개 변수도 self에 있을 수 있다.crawl(url,age=10*24*60*60) 및crawl_config에서 설정합니다. - @config (priority=2) 이것은 우선 순위 설정입니다.숫자가 클수록 먼저 실행한다.
다른 사람이 설정한 파충류 테스트 라이브러리:http://demo.pyspider.org/매개변수 문서 참조
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
python은 어떻게 파충류의 효율을 향상시킬 것인가단일 스레드 + 멀티태스킹 비동기 협동 협정 함수(특수 함수)를 정의할 때 async 수식을 사용합니다. 함수 호출 후 내부 문장은 즉시 실행되지 않고 협동 대상으로 되돌아옵니다. 퀘스트 대상 작업 대상 = 고급 협...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.