Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.09.2011, 17:14   #21
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Цитата:
Сообщение от pruf Посмотреть сообщение
[B]Если в file_get_contents один адрес работает, если больше нет. В чем ошибка?
Да нет тут ошибки - эта функция принимает имя только одного файла, хоть почитайте в мануале про неё...

Хотите 10 страниц - сделайте весь процесс в цикле, по очереди, обрабатывайте одну ссылку за другой.
Andkorol вне форума Ответить с цитированием
Старый 06.09.2011, 17:58   #22
pruf
Пользователь
 
Регистрация: 12.03.2011
Сообщений: 27
По умолчанию

Дело том что в конечном варианте все будет в цикле,

PHP код:
$dom=file('sites.txt');
for(
$i=0$i<100$i++)
{
$url file_get_contents'http://search.yahooapis.com/SiteExplorerService/V1/inlinkData?appid=nIkp7rjV34E8khkSQg8tNtHd5poxnR4_unIRk_5fwSeSJA_TMvpahq.ej3Ez&query=http://www.' $dom[$i] . '&results=100&start=1&omit_inlinks=domain&entire_site=1&output=php');

$data unserialize($url);
$results $data['ResultSet']['Result'];  
$urls = array();  
if(
sizeof($results) > 0){  
    foreach(
$results as $result){  
        
$urls[] = $result['Url'];  
    }  

    if(!empty(
$urls)) 
        
file_put_contents("$dom[$i].txt"implode("\n"$urls)); 


работает, хотя во весь экран пишет

Warning: file_get_contents(http://search.yahooapis.com/SiteExpl...e=1&output=php) [function.file-get-contents]: failed to open stream: HTTP request failed! HTTP/1.1 503 Service Unavailable in C:\Program Files\VertrigoServ\www\......... on line 5

а как второй цикл прикрутить чтобы много страниц проверял я незнаю

P.S 10 страниц это не
12345678910
в данном случае это выглядит так
1
101
201
301
401
501
601
701
801
901

Последний раз редактировалось pruf; 06.09.2011 в 18:10.
pruf вне форума Ответить с цитированием
Старый 06.09.2011, 18:25   #23
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Цитата:
Сообщение от pruf Посмотреть сообщение
а как второй цикл прикрутить чтобы много страниц проверял я незнаю
Ну так вы и так много страниц проверяете в своем цикле - зачем вам ещё один цикл?
Andkorol вне форума Ответить с цитированием
Старый 06.09.2011, 18:56   #24
pruf
Пользователь
 
Регистрация: 12.03.2011
Сообщений: 27
По умолчанию

В файле не страницы, домены.

Когда обращаемся к яху по api http://search.yahooapis.com/SiteExplorerServ.......&start=1........

он отдает 100 беков, нужно получить 1000, для этого нужно пролистать как бы страницы, пробежаться по
http://search.yahooapis.com/SiteExplorerServ.......&start=1........
http://search.yahooapis.com/SiteExplorerServ.......&start=101........
http://search.yahooapis.com/SiteExplorerServ.......&start=201........
http://search.yahooapis.com/SiteExplorerServ.......&start=301........
http://search.yahooapis.com/SiteExplorerServ.......&start=401........
....... и т.д.
http://search.yahooapis.com/SiteExplorerServ.......&start=901........
pruf вне форума Ответить с цитированием
Старый 06.09.2011, 19:06   #25
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Цитата:
Сообщение от pruf Посмотреть сообщение
В файле не страницы, домены.

Когда обращаемся к яху по api http://search.yahooapis.com/SiteExplorerServ.......&start=1........

он отдает 100 беков, нужно получить 1000, для этого нужно пролистать как бы страницы
Ясно - тогда вам нужно просто вставить ещё один цикл в ваш существующий,
примерно так:
PHP код:
$dom=file('sites.txt'); 
$pages = array('1','101','201','301','401','501','601','701','801','901');
for(
$i=0$i<100$i++) 
{
    for(
$j 0$j count($pages); $j++)
    {
        
$url file_get_contents'http://search.yahooapis.com/SiteExplorerService/V1/inlinkData?appid=nIkp7rjV34E8khkSQg8tNtHd5poxnR4_unIRk_5fwSeSJA_TMvpahq.ej3Ez&query=http://www.' $dom[$i] . '&results=100&start=' $pages[$j] . '&omit_inlinks=domain&entire_site=1&output=php'); 

        
// ну а дальше всё то же самое, обработка и запись в файл
        // только с именами для файлов разберитесь теперь - файлов будет больше
    
}

Andkorol вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужно убрать лишнее!!! Less1 Помощь студентам 10 26.06.2011 19:15
ColorBox - убрать лишнее MyLastHit Общие вопросы Delphi 1 08.12.2010 08:49
Убрать лишнее Айдар Общие вопросы C/C++ 1 17.09.2010 01:08
убрать лишнее из программы dragun4ik Помощь студентам 2 30.01.2010 17:33
Убрать лишнее из ячейки. `Dmitry Microsoft Office Excel 8 24.03.2009 19:07