извлечение данных из поискового запроса с помощью PHP - PullRequest
0 голосов
/ 03 февраля 2011

Я использую PHP, также полный нуб на нем.

Итак, у меня есть этот URL, который принимает запросы и возвращает файл данных с некоторыми совпадениями.

Скажите www.example.com / search? q = $ query, где $ query - это любой поисковый термин.

Однако, когда вы переходите по URL-адресу в браузере, он загружает текстовый файл с информацией в нем.

Я хочу прогнать весь алфавит и каждую комбинацию букв до 10 букв, извлечь данные из всех возвращенных файлов и сохранить их в базе данных.

Я не совсем уверен, как поступитьоткрывая каждый URL из скрипта PHP.Есть ли лучший способ сделать это, чем загрузить каждый файл и извлечь информацию, а затем удалить файл?

То, что у меня есть ниже, вообще не работает.

$alphabet = "abcdefghijklmnopqrstuvwxyz";
for ($i=0; $i<=25; $i++){
    $query = $alphabet[$i];
    $url = "www.example.com/search?q=$query";
    $html = fopen($url);
    $stringify = (string)$html;
    echo $stringify;
}

Ответы [ 2 ]

1 голос
/ 03 февраля 2011

Вы не можете просто открыть файл с URL .Вам нужно использовать клиентскую библиотеку HTTP, чтобы получить файлы.Эта ссылка может пригодиться: Клиентская библиотека HTTP для PHP


РЕДАКТИРОВАТЬ: основываясь на комментариях Алекса, вы можете проверить allow_url_fopen в своем файле php.ini.

0 голосов
/ 03 февраля 2011
$html = fopen($url);

Это не сработает. fopen возвращает дескриптор файла, а не файл. Вы должны были бы fread() на этой файловой ручке, чтобы фактически прочитать данные.

То, что вы хотите, это file_get_contents(), по минимальной цене.

...