Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: PHP парсер. Как парсить фото с сайта в оригинальном размере?
Форумы портала PHP.SU » Клиентская разработка » Программное обеспечение » PHP парсер. Как парсить фото с сайта в оригинальном размере?

Страниц (1): [1]
 

1. Roma1 - 09 Июня, 2017 - 13:06:39 - перейти к сообщению
Я сделал парсер который на главной странице сайта копирует фото с каждой публикации.
Но есть одна проблема, я копирую фото с этого сайта (stvorenonaukoy.blogspot.com/) а этот сайт сделан на платформе блогер, поэтому фото копируются в размере 72х72, хотя на сайте они в нормальном размере.

На сайте url фото прописано в стилях.
Вот как это выглядит на сайте с которого я копирую фото:
CODE (html):
скопировать код в буфер обмена
  1. <div class="thumb">
  2.                <a href="http://goruzont.blogspot.com/2017/04/blog-post_6440.html" style="background:url(https://1.bp.blogspot.com/-6vpIH5iqPYs/WPzlNdxsRpI/AAAAAAAAntU/d7U_Ch_6FiIPwosNL4tWwqBeXw8qwo2nACLcB/s1600/1424051.jpg) no-repeat center center;background-size:cover">
  3.  
  4. <span class="thumb-overlay"></span></a>
  5.  </div>



Вот код парсера:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. header('Content-type: text/html; charset=utf-8');
  3. require 'phpQuery.php';
  4.  
  5. function print_arr($arr){
  6.   echo '<pre>' . print_r($arr, true) . '</pre>';
  7. }
  8.  
  9. $url = 'http://stvorenonaukoy.blogspot.com/';
  10. $file = file_get_contents($url);
  11.  
  12. $doc = phpQuery::newDocument($file);
  13.  
  14. foreach($doc->find('.blog-posts .post-outer .post') as $article){
  15.     $article = pq($article);
  16.     $img = $article->find('.thumb a')->attr('style');
  17.    
  18.     $img."<br>"; if (preg_match('!background:url.(.+). no!',$img,$match)) {
  19. $imgurl = $match[1];
  20. } else
  21. {echo "<img src = http://goruzont.blogspot.com".$item.">";}  
  22.    
  23.     echo "<img src='$imgurl'>";
  24. }
  25. ?>


Как мне копировать фото в таком же размере как и на сайте?
2. LIME - 09 Июня, 2017 - 16:48:07 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. echo "<img src='$imgurl' width=\"500px\" height=\"600px\">";
прикинь
(Добавление)
А вообще ты же тумбы парсишь
Ты другого ожидал?
3. Roma1 - 09 Июня, 2017 - 20:06:03 - перейти к сообщению
Спасибо изображения стали большего размера, только к сожалению с качеством проблемы.

Вот для примера два url одного фото.
Это url фото на сайте:
https://2[dot]bp[dot]blogspot[dot]com/-_wfrN[dot][dot][dot]cB/s1600/1-3[dot]jpg

А это url того же фото только я его уже спарсил и добавил на свой сайт:
https://2[dot]bp[dot]blogspot[dot]com/-_wfrN[dot][dot][dot]cB/s72-c/1-3[dot]jpg

Разница в том, что в url адресу на сайте пишет s1600, а когда я спарсил url то становится s72. Размер фото почему-то меняется в url адресу, но почему? Оно же должно копироваться в оригинальном виде. Возможно вы знаеты как это решить?
4. LIME - 09 Июня, 2017 - 20:18:33 - перейти к сообщению
явно работает js
но почему тебя это должно волновать? заменяй урл на тот что нужен тебе

 

Powered by ExBB FM 1.0 RC1