4.4 Конфігурація пошукача, запуск і зупинка

4.4.1 Пошукач Spider

Spider початок запуску пошукача.

Перед початком скануванням пошукачем, нам потрібно за допомогою PageProcessor створити об'єкт павука Spider, а тоді запустити його методом run().

На відміну інші компоненти веб-павука Spider (завантажувач Downloader, планувальник Scheduler, інфопровід Pipeline) можуть бути установлени методами set.

метод опис приклади
create(PageProcessor) створити Spider spider.create(new GithubRepoProcessor())
addUrl(String…) додати URL ініціалізації spider.addUrl("http://webmagic.io/docs/")
addRequest(Request...) додати Request ініціалізації spider.addRequest("http://webmagic.io/docs/")
thread(n) к-ть потоків n spider.thread(5)
run() запуск, розблокування поточного потоку його визовом spider.run()
start()/runAsync() асинхнонний старт, продовження з поточного потоку thread spider.start()
stop() стоп пошукача spider.stop()
test(String) тестова сторінка для пошукача spider.test("http://webmagic.io/docs/")
addPipeline(Pipeline) додати інфопровід Pipeline, у Spider може бути кілька Pipeline spider.addPipeline(new ConsolePipeline())
setScheduler(Scheduler) установки Планувальника Scheduler, Spider повинен мати Scheduler spider.setScheduler(new RedisScheduler())
setDownloader(Downloader) установки Завантажувача Downloader, Spider повинен бути мати Downloader spider.setDownloader(new SeleniumDownloader())
get(String) синхронні визови та прямий доступ до результатів ResultItems result = spider.get("http://webmagic.io/docs/")
getAll(String…) синхронні визови та прямий доступ до купи результатів List<ResultItems> results = spider.getAll("http://webmagic.io/docs/", "http://webmagic.io/xxx")

4.4.2 Site

Сам сайт, деяка інформація про конфігурацію, така як кодування, HTTP заголовок, тайм-аут, стратегія повторних спроб, агентів і т.д., можуть бути налаштовані шляхом установок set об'єкта Site.

метод опис приклади
setCharset(String) установка кодування сторінки encoding code page site.setCharset("utf-8")
setUserAgent(String) установка UserAgent site.setUserAgent("Spider")
setTimeOut(int) установка тайм-аут в мілісекундах site.setTimeOut(3000)
setRetryTimes(int) установка к-ті повторних спроб site.setRetryTimes(3)
setCycleRetryTimes(int) установка циклу повторних спроб site.setCycleRetryTimes(3)
addCookie(String, String) додати cookie site.addCookie("dotcomt_user", "code4craft")
setDomain(String) установити доменне ім'я, можливо встановити пізніше, вступають в силу тільки з addCookie site.setDomain("github.com")
addHeader(String,String) додати заголовок визову header site.addHeader("Referer","https://github.com")
setHttpProxy(HttpHost) налаштування Http proxy site.setHttpProxy(new HttpHost("127.0.0.1",8080))

Цикл повторних спроб - механізм CycleRetryTimes додано починаючи з версії 0.3.0

Цей механізм для тих URL, що не зміг завантажити з setCycleRetryTimes(int) разів. Пройшовши увесь цикл він не буде повертати назад ці сторінки в кінець черги (повторних спроб). Має сенс для сторінок в мережі, що можуть бути тимчасово чи взагалі недоступні.

results matching ""

    No results matching ""