2010-08-11 8 views
-4

Я знаю, что мы можем захватывать информацию (с php) с любого сайта и создавать собственные.Вопросы о разборе

Я говорю о разборе некоторого дополнительного контента, такого как информация о фильме (даты, бюджет, лица и т. Д.) Или свойства видеофайла с youtube (размер, продолжительность).

Я взволнован от реализации процесса захвата с больших сайтов и большого количества информации.

Кажется есть несколько проблем:

  1. Время выполнения скрипта. Кажется, мы можем сделать скрипт вращения, чтобы захватить все страницы от одного к другому и подталкивать контент к нашей базе mysql, но на большом количестве страниц время выполнения будет больше, чем обычный хостинг (обычно около 30 секунд), поэтому сценарий умрет в какой-то момент.
  2. Объем памяти. Сценарий будет много хранить во время разбора большого количества страниц.
  3. Antiddos? на локальном сайте (много запросов с одного IP-адреса).

Основная идея этого вопроса заключается в том, как обойти все эти камни и сделать ротационный скрипт (который может работать целый день) без ошибок.

Есть ли другие плохие новости, которые мы можем получить во время процесса?

Ваши мысли?

+9

Воровство плохое – zerkms

+3

Если вы собираетесь делать крупномасштабные веб-скребки, как вы, общие службы/хостинг, вероятно, не то, что вы хотите смотреть, так как будет много проблем. Кроме того, я бы, вероятно, посмотрел на использование чего-то, кроме php, для этого (perl/ruby ​​приходят на ум) – Doon

+0

@zerkms. Если вам нужна информация, например, дата рождения человека, вы не получите ее где-нибудь? Copypast или прямой синтаксический анализ - не имеет значения. С вашим ответом мы можем понять, что вы придумаете все даты. – James

ответ

2

Я отвечу на это, полагая, что то, что вы делаете, является законным и собирается добавить ценность к доступным данным. Если это так, вы можете связаться с сайтами, о которых идет речь, и поговорить с ними, чтобы подтвердить, что скребок экрана не будет заблокирован как атака DoS. Вы можете дать им свои IP-адреса и т. Д., И все будет хорошо.

Существует много способов убедиться, что ваш процесс не будет тайм-аут/использовать слишком много информации. Это просто сводится к дизайну вашей системы. Если контент вашего сайта не будет оригинальным, попробуйте сделать свое решение как минимум :) Однако, если вы столкнетесь с определенными проблемами во время своей реализации, я уверен, что вы можете получить ответы на целенаправленные вопросы.

Редактировать разъяснений

Мой ответ на ваш вопрос

1) Проверьте с сайтов, которые вы хотите, чтобы очистить. Если у них нет проблем, они не будут блокировать ваш IP-адрес - вы можете организовать способ убедиться, что этого не происходит с ними. Используйте либо статический IP-адрес. Или, если IP-адрес, который вы используете, может измениться, тогда согласовать конкретную строку пользовательского агента.

2) После того, как вы закончили (1), приступайте к разработке решения. Время выполнения и т. Д. Не должно быть проблемой, поэтому, если вы столкнулись с определенными проблемами с вашим решением, когда вы его кодируете, вернитесь к переполнению стека с вопросом, сфокусированным на этой проблеме.

Чтобы быть ясным, если вы не можете или не будете связываться с сайтами, которые вы хотите очистить, сообщите нам все сейчас.

+0

Есть много способов - любые примеры по заданному вопросу? – James

+1

Извините, я предполагаю, что английский не является вашим основным языком, но ваш комментарий не имеет смысла. Я ответил на ваш вопрос (несколько раз). 1) Проверьте с сайтами, которые вы хотите очистить. Если у них нет проблем, они не будут блокировать ваш IP-адрес - вы можете организовать способ убедиться, что этого не происходит с ними (возможно, согласны с конкретной строкой пользовательского агента, если ваш IP-адрес может измениться). Если вы не можете этого сделать, не тратьте больше времени на этот вопрос. 2) Затем приступайте к разработке решения, чтобы сделать это самостоятельно и возвращайтесь с любыми проблемами по мере их возникновения. –

0

Я говорю о разборе некоторого дополнительного контента, такого как информация о фильме (даты, бюджет, лица и т. Д.) Или свойства видеофайла с youtube (размер, продолжительность).

И imdb, и youtube имеют API для получения данных со своего сайта, не нужно царапать.

+0

Некоторые сайты не предоставляют, поэтому в некоторых случаях нам нужно соскабливать. Большинство пользователей вы скопируете + вставку, я предпочитаю писать какой-то скрипт и не иметь головной боли. – James

+0

См. Мой ответ, любое решение сводится к тому, является ли оно законным или нет, а затем простой вопрос об объеме. В вашем вопросе четко указано, что вы планируете захватывать большие объемы данных, поэтому первым портом захода должен быть контакт с указанными сайтами. Если вы этого не сделаете или не сделаете, вы должны ожидать, что ваше приложение IP-адрес/скрежет будет заблокировано всеми сайтами, о которых идет речь. –

0

Как @paulHadfield сказал, прежде чем что-либо предпринять, вам нужно попросить владельца (ов) сайта, который вы хотите очистить, чтобы вы не ошиблись при атаке DoS.

И что именно вы пытаетесь сохранить в mysql?

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