2010-06-05 4 views
3

Мне нужно написать программу для очистки форумов.Написание программы для очистки форумов

Должен ли я писать программу на Python с использованием Scrapy framework или использовать Php cURL? Также есть ли Php эквивалент Scrapy?

Благодаря

+3

В основном это зависит от того, с каким языком вам будет комфортно. –

+1

Ситуация с PHP изменилась с тех пор, как был задан этот вопрос. Для соскабливания в PHP сейчас я рекомендую попробовать Goutte - это безголовый браузер, созданный поверх Symfony Components и Guzzle. – halfer

ответ

4

Я бы выбрал Python из-за превосходных привязок libxml2, в частности, таких как lxml.html и pyQuery. У Scrapy есть свои привязки libxml2, я не смотрел на них, чтобы проверить их, хотя просмотр документации Scrapy не оставил меня очень впечатленным (я сделал много скрепок, просто используя эти синтаксические анализаторы и ручное кодирование). С любым из них вы получаете по-настоящему превосходный парсер HTML, запрашивая через XPath, а с lxml.html и pyquery (также построенный на lxml) вы получаете селектор CSS.

Если вы делаете небольшую работу, соскабливая форум, я бы пропустил фреймворк для очистки и просто сделаю это вручную - это просто и распараллеливание и т. Д. На самом деле не требуется.

3

Я бы не использовать PHP для нового приложения, что я пишу. Мне не нравится язык по разным причинам.

Кроме того, это сила, как язык сценариев на стороне сервера для доставки динамических страниц через Интернет. Не как язык программирования общего назначения. Это еще один минус. Я бы придерживался Python.

Что касается рамок для использования, их много. Harvestman, Scrapy и т. Д. Также есть искатель на основе облаков, основанный на 80-х годах, чем вы могли бы использовать.

Обновление: Люди отрицательно ответили на этот вопрос, потому что я сказал, что мне не нравится PHP. Вот список причин. Не совсем точный, но достойный резюме, тем не менее http://wiki.python.org/moin/PythonVsPhp

+7

Вы шутите? Просто потому, что вам не нравится PHP, не означает, что PHP не был бы идеальным для этого. Вы можете получить страницу с помощью cURL, а затем просто очистить ее с помощью класса DOMDocument. Раньше я делал подобное. – AntonioCS

+2

My disclike PHP из-за языковых проблем. Плохая поддержка OO, низкая поддержка имен, система менее оптимального типа и т. Д. Оба языка завершены, поэтому вы можете * сделать это с помощью обоих. Это не делает PHP лучшим выбором. Кроме того, крупномасштабная очистка/сбор урожая немного сложнее, чем выбор URL-адреса и использование синтаксического анализатора, поскольку я уверен, что вы оцените. –

+2

Noufal Вы можете подробнее рассказать об этом: «Масштабирование/сбор урожая немного сложнее, чем выбор URL и использование синтаксического анализатора, поскольку я уверен, что вы оцените». Благодарю. – seanieb