Лучше попробовать один мегаэкранный скребок или разбить его на скребок для разных сайтов? - PullRequest
2 голосов
/ 13 января 2012

Я объясню свою ситуацию.

Наш менеджер по социальным сетям (ууу) неожиданно хочет что-то почистить из списка около 40 веб-сайтов для получения информации о нашей компании, например, в списке много сайтов с обзорами..

(я прочитал тонну учебников и ТАК вопросов, но все же) Мои вопросы:

  1. Можно ли построить универсальный скребок, который будет работать на всехэтих сайтов или мне нужен отдельный скребок для каждого сайта?

  2. Я думаю, что понимаю, как анализировать отдельную веб-страницу, но как вы это делаете, где, например, естьструктура веб-сайта review-website.com/company-name, и на этой странице есть заголовки и фрагмент обзора, которые затем ссылаются на фактический полный обзор страницы?

т. е. сканирование и удаление нескольких страниц на нескольких сайтах.Некоторые из них «проще», чем другие, потому что у них есть выделенные страницы, такие как ранее упомянутые URL-адреса, но некоторые являются форумами и т. Д., В которых нет конкретной структуры, в которой просто упоминается название нашей компании, поэтому я не знаю, как получить соответствующую информацию о них.

  1. Оправдывает ли время, потраченное на его создание, то, что менеджер социальных сетей может самостоятельно выполнять поиск на этих сайтах вручную?Особенно если учесть, что изменение HTML на каком-либо из сайтов может привести к поломке скребка?

Я действительно не думаю, что это хорошая идея, но мой линейный менеджер, похоже, подумает, что это займетутренняя работа по написанию скребка для всех этих сайтов, и я понятия не имею, как это сделать!

ОБНОВЛЕНИЕ

Большое спасибо за ответы, такКроме того, я также подумал, что предоставлю список сайтов, чтобы прояснить, что я считаю крайне сложной задачей:

Facebook - www.facebook.com

Social Mention - www.socialmention.com

Youtube - www.youtube.com

Qype - www.qype.co.uk

Money Saving Expert - www.moneysavingexpert.co.uk

Review Centre - www.reviewcentre.com

Dooyoo - www.dooyoo.co.uk

Yelp - www.yelp.co.uk

Ciao - www.ciao.co.uk

All in London - www.allinlondon.co.uk

Touch Local - www.touchlocal.com

Tipped - www.tipped.co.uk

What Clinic - www.whatclinic.com

Wahanda - www.wahanda.com

Up My Street - www.upmystreet.com

Lasik Eyes - www.lasik-eyes.co.uk/

Lasik Eyes (Forum) - forums.lasik-eyes.co.uk/default.asp

Laser Eye Surgery - www.laser-eye-surgery-review.com/

Treatment Saver - www.treatmentsaver.com/lasereyesurgery

Eye Surgery Compare - www.eyesurgerycompare.co.uk/best-uk-laser-eye-surgery-clinics

The Good Surgeon Guide - www.thegoodsurgeonguide.co.uk/

Private Health -www.privatehealth.co.uk/hospitaltreatment/find-a-treatment/laser-eye-surgery/

Laser Eye Surgery Wiki - www.lasereyesurgerywiki.co.uk

PC Advisor - www.pcadvisor.co.uk/forums/2/consumerwatch/

Scoot - www.scoot.co.uk

Cosmetic Surgery Reviews - www.cosmetic-surgery-reviews.co.uk

Lasik Reviews - www.lasikreviews.co.uk

Laser Eye Surgery Costs - www.lasereyesurgerycosts.co.uk

Who Calls Me - www.whocallsme.com

Treatment Adviser - www.treatmentadviser.com/

Complaints Board - http://www.complaintsboard.com

Toluna - http://uk.toluna.com/

Mums Net - http://www.mumsnet.com

Boards.ie - http://www.boards.ie

AV Forums - http://www.avforums.com

Magic Mum - http://www.magicmum.com

Ответы [ 2 ]

1 голос
/ 13 января 2012

Это действительно зависит от того, с какими веб-сайтами и данными вы сталкиваетесь.

Вариант 1: на основе DOM / XPATH

Если вам нужно разобрать таблицы и очень подробныеВещи, которые нужно проанализировать каждый сайт с отдельным алгоритмом.Один из способов состоит в том, чтобы проанализировать каждый конкретный сайт в представлении DOM и указать каждое значение для XPATH.Это займет некоторое время и будет зависеть от изменений структуры, и если вам придется очистить каждый из этих сайтов этим, это будет стоить вам больше, чем утро.

Вариант 2: на основе плотности

Однако, если вам нужно разобрать что-то вроде статьи в блоге и вы можете извлечь только текст статьи, есть довольно хороший алгоритм на основе плотности, который работает с изменениями структуры HTML.Один из них описан здесь: https://www2.cs.kuleuven.be/cwis/research/liir/publication_files/978AriasEtAl2009.pdf

Здесь представлена ​​реализация: http://apoc.sixserv.org/code/ce_density.rb

Вы должны будете перенести его на php.Для блогов и новостных сайтов это действительно эффективный способ.

Вариант 3: Прагматичный

Если вас не интересует макет и структура и вы хотите иметь только данныепредоставлена.Вы можете загрузить содержимое и попробовать удалить только теги.Однако в полученном тексте будет много шума.

Обновление

После обновления вашего поста вы можете выполнить следующие действия в следующем порядке:

  1. Проверьте, какая страница запрещена для очистки.В этом списке наверняка есть некоторые, которые вам не разрешат очистить.

  2. Вам понадобится гораздо больше времени, чем день.Я бы поговорил об этом и о юридических проблемах с руководителем проекта.

  3. Выберите один вариант на странице

0 голосов
/ 13 января 2012
  1. Я бы создал скребок для каждого сайта, но создал бы библиотеку с общими функциями (например, открытие страницы, преобразование в DOM, сообщение об ошибках, сохранение результатов и т. Д.)
  2. Старайтесь избегать регулярных выраженийпри соскобе.Небольшое изменение прекратит работу соскоба.Вместо этого используйте структуру DOM веб-сайтов (XPaths?).Гораздо надежнее.
  3. Скажите своему боссу, что это займет немало времени.
  4. Удачи.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...