С наступающим Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы
Python: Web
Войти
Регистрация
Восстановить пароль
 
DmitryRW
0 / 0 / 0
Регистрация: 17.08.2017
Сообщений: 2
1

Исправить ошибку с RSS рассылкой в соц. сети?

17.08.2017, 11:00. Просмотров 202. Ответов 2

Неделю назад отвалилась rss лента,на протяжении 1,5 года все работало исправно,никаких изменений не вносилось.

Текст с ошибкой:
This page contains the following errors:

error on line 2 at column 1: Extra content at the end of the document
Below is a rendering of the page up to the first error.

Код файла:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
<?php
// spec https://partner.news.yandex.ru/tech.pdf
$this->locator->onlyContent = true;
$this->addHeader("Content-Type", 'text/xml; charset=' . PAGE_CHARSET);
$content .= '<?xml version="1.0" encoding="'.PAGE_CHARSET.'"?>
<rss xmlns:yandex="http://news.yandex.ru" xmlns:media="http://search.yahoo.com/mrss/" version="2.0"><channel><title>'.$this->parcer->pageContent(array('sharetitle')).'</title>
<link>'.$this->locator->host.'</link>
<description>'.$this->parcer->pageContent(array('sharedescription')).'</description>
<yandex:logo>'.$this->locator->host.'css/normal_logo.png</yandex:logo>
<yandex:logo type="square">'.$this->locator->host.'css/square_logo180x180.png</yandex:logo>';
$deep = (int)$this->tools->valREQUEST('deep');
if($deep==0)$deep=9;
// все ссылки на самостоятельные страницы
/*
/bz/4x4-club/
/bz/spy/
/bz/video/
*/
if ($this->sql->exec("select *, datediff(now(),`ndate`) as 'datediff' from meta where (`link` like '/news/%' or `link` like '/bz/4x4-club/%' or `link` like '/bz/spy/%' or `link` like '/bz/video/%' or `link` like '/bz/handmade/%' or `link` like '/bz/retro/%' or `link` like '/news/pdd/%' or `link` like '/bz/camper/%') and datediff(now(),`ndate`) < $deep order by `ndate`")){
if ($this->sql->row > 0){
foreach($this->sql->aResult as $line){
  $resMatch = array('href'=>array(),'src'=>array());
  $descr = $this->parcer->run($line['content']);
  $authorMail = ADMIN_MAIL;
  preg_match_all("/<a[^>]*>.*?<\/a>/iD",$descr,$ancorMatch);
  foreach($ancorMatch as $ancor){
    preg_match_all('/[f|c]="([^"]+)"/iD',$ancor[0],$res);
    $ancorName = strip_tags($ancor[0]);
    foreach($res[0] as $i=>$v){
      if(substr($v,0,1)=='f'){
        if(strpos($v,$this->locator->host)===false){
          if(!in_array($res[1][$i],$resMatch['href']))$resMatch['href'][] = array($res[1][$i],$ancorName);
        }
      }else{
        if(!in_array($res[1][$i],$resMatch['src']))$resMatch['src'][] = $res[1][$i];
      }
    }
  }
  $descr = $this->tools->validXML(strip_tags($descr));
  $link = $this->locator->host.substr($line['link'],1);
  $nDate = new DateTime($line['ndate']);
  $nDate = $nDate->format('r');
  $strPic = ''; $strLink = '';
  foreach($resMatch['src'] as $v){
    $ext = pathinfo($v,PATHINFO_EXTENSION);
    $path = str_replace($this->locator->host,ABSPATH,$v);
    if(is_file($path)){
      $imgInfo = stat($path);
      $strPic .= '<enclosure url="'.$v.'" type="image/'.$ext.'" length="'.$imgInfo['size'].'"/>';
    }
  }
  if(count($resMatch['href'])>0){
    $strLink .= '<yandex:related>';
    foreach($resMatch['href'] as $v){
      $strLink .= '<link url="'.$v[0].'">'.($v[1]?$v[1]:$v[0]).'</link>';
    }
    $strLink .= '</yandex:related>';
  }
$content .= <<<TXT
<item>
<title>{$this->tools->validXML($line['title'])}</title>
<link>$link</link>
<guid>$link</guid>
<description>{$this->tools->validXML($line['description'])}</description>
<author>$authorMail</author>
<category>Авто</category>
<pubDate>$nDate</pubDate>
<yandex:genre>article</yandex:genre>
<yandex:full-text>$descr</yandex:full-text>
<comments></comments>
$strPic
$strLink
</item>
TXT;
}
}
}
/*
картинки
<enclosure url="http://www.rossiyskie-novosti.ru/2003/03/25/yandex.jpg" type="image/jpeg"/>
ссылки на сторонние ресурсы
<yandex:related>
<link url="http://www.kremlin.ru/">Президент России</link>
</yandex:related>
*/
$content .= '</channel></rss>';
?>
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.08.2017, 11:00
Ответы с готовыми решениями:

Подключить модуль social_auth для авторизации через соц. сети
Помогите разобраться искал много решений как сделать регистрацию\авторизацию...

Как исправить ошибку: формат теста исправить нельзя, только текст программы
class AmericanDate: def __init__(self, y, m, d): self.get_year...

как исправить ошибку
задача: Составить программу, формирующую строку, состоящую из любого заданного...

Как исправить ошибку?
Как исправить ошибку lambda ?

Найти ошибку и исправить
ребуется по запросу выдавать N различных паролей длиной M символов,...

2
Рыжий Лис
Просто Лис
1190 / 513 / 344
Регистрация: 17.05.2012
Сообщений: 2,079
Записей в блоге: 8
17.08.2017, 12:29 2
Хм, а при чём здесь питон?

Ошибка где? При парсинге RSS-ленты? Или в скрипте?
0
DmitryRW
0 / 0 / 0
Регистрация: 17.08.2017
Сообщений: 2
17.08.2017, 15:07  [ТС] 3
Ошибка на стороне формирования рсс канала
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.08.2017, 15:07

Помогите исправить ошибку GMPY2
Помогите исправить ошибку def decryptRSA(inB, key, exponent): b = '' ...

Исправить ошибку в примере на джангобук ру
Собрал в кучу пример с сайта джанго, пытаюсь посмотреть результат, но при...

Как исправить эту ошибку?
&gt;&gt;&gt; import script1 Traceback (most recent call last): File &quot;&lt;stdin&gt;&quot;, line...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru