Esempio n. 1
0
func (e *Extractor) Process(job J.Job) {
	job.Progress("Extracting...")

	defer e.wg.Done()
	resp, err := e.extractRetry(job.Url, job.Content)
	if err != nil {
		e.error(job, "%s", err)
		return
	}

	doc, err := rewriteAndDownloadImages(job.Root(), resp.Content)
	if err != nil {
		e.error(job, "HTML parsing failed: %s", err)
		return
	}

	job.Doc = doc
	if resp.Title != "" {
		job.Title = resp.Title
	}
	job.Domain = resp.Domain
	if resp.Author != nil {
		job.Author = *resp.Author
	}

	job.Progress("Extraction complete...")
	e.Output <- job
}