2009-02-06 2 views
1

Как скринировать конкретный веб-сайт. Мне нужно войти на сайт, а затем очистить внутреннюю информацию. Как это можно сделать?метод скрипинга экрана с использованием php

Прошу вас, руководствоваться.

Дубликат: How to implement a web scraper in PHP?

+0

Да, дубликат. Но это больше подходит для доступа к сайтам, требующим аутентификации. – Ross

ответ

0

Вы хотите посмотреть на curl функций - они дадут вам страницу с другого сайта. Вы можете использовать cookie или HTTP-аутентификацию для входа в систему сначала, а затем получить нужную страницу, в зависимости от того, на какой сайт вы входите.

Как только у вас есть страница, вы, вероятно, лучше всего используете regular expressions, чтобы очистить нужные данные.

+10

-1 Извините, но эта проблема пришла снова и снова: регулярное выражение - это ужасный способ сделать скребок. Используйте парсер HTML/XML. Regexes настолько склонны к ошибкам, что это не смешно. – cletus

+0

cletus Я полностью не согласен. Если вы хотите получить небольшую часть информации из блога HTML, регулярное выражение - это путь. – Greg

0

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

Как легко было бы звонить из PHP, но я не знаю.

+1

-1 Красивый суп в порядке, если это Python, но это не так. Для этого существуют библиотеки PHP (например, Zend и Simple XML). Вызов Python не является разумным решением. – cletus

+1

Кажется немного суровым. Я не очень разбираюсь в простых XML и Zend, но Googling предлагает SimpleXML просто XML-парсером, а Zend - сервером приложений. Я не вижу, как любой из них может помочь каким-либо конкретным образом в сложной проблеме скремблирования HTML таким образом, что это похоже на BS. – andynormancx

+0

Zend также является основой множества различных пакетов. И это своего рода мое мнение: ваши знания PHP являются отрывочными (кажется), поэтому предложение Python (то, что я предполагаю, что вы знаете больше о вашем ответе) действительно не помогает. – cletus

0

Curl, и один раз в Юр, используйте библиотеку PHP QueryPath. (Querypath.org) Вы можете получить доступ к DOM элементов так же, как в JQuery, с помощью CSS селекторов, есть метод цепочка ...

пути лучше, чем просто с помощью собственных функций XML в PHP.

Он также работает как расширение drupal, но я предполагаю, что вы можете реализовать его в любом проекте php.

Смежные вопросы