Я создал приложение GAE, которое анализирует RSS-каналы с помощью cElementTree. Тестирование на моей локальной установке GAE работает нормально. Когда я загрузил это приложение и попытался проверить его, я получил ошибку SyntaxError.
Ошибка:
Traceback (most recent call last): File "/base/python_lib/versions/1/google/appengine/ext/webapp/__init__.py", line 509, in __call__
handler.post(*groups) File "/base/data/home/apps/palmfeedparser/1-6.339910418736930444/pipes.py", line 285, in post
tree = ET.parse(urlopen(URL)) File "<string>", line 45, in parse File "<string>", line 32,
in parse SyntaxError: no element found: line 14039, column 45
Я сделал то, что предложил мистер Алекс Мартелли, и на моем локальном компьютере было напечатано:
[
' <ac:tag><![CDATA[Mobilit\xc3\xa4t]]></ac:tag>\n',
' </ac:tags>\n',
' <ac:images>\n',
' <ac:image ac:number="1">\n',
' <ac:asset_url ac:type="app">http://cdn.downloads.example.com/public/1198/de/images/1/A/01.png</ac:asset_url>\n'
]
Я загрузил приложение, и оно распечаталось:
[
' <ac:tag><![CDATA[Mobilit\xc3\xa4t]]></ac:tag>\n',
' </ac:tags>\n',
' <ac:images>\n',
' <ac:image ac:number="1">\n',
' <ac:asset_url ac:type="app">http://cdn.downloads.example.com/public/1198/de/images/1/A/01.png</ac:asset_url>\n'
]
Эти строки соответствуют следующим строкам в ленте RSS, которую я читаю:
<ac:tags>
<ac:tag><![CDATA[Mobilität]]></ac:tag>
</ac:tags>
<ac:images>
<ac:image ac:number="1">
<ac:asset_url ac:type="app">http://cdn.downloads.example.com/public/1198/de/images/1/A/01.png</ac:asset_url>
Я заметил, что перед закрывающими тегами ac: есть новая строка. Линия 14039 соответствует этой новой линии.
Обновление:
Я использую urllib.urlopen для доступа к URL-адресу канала. Я отобразил содержимое, которое он получает как локально, так и собственно GAE. Локально, контент не обрезается. Тестирование после загрузки приложения показывает, что канал, имеющий 15289 строк, усекается до 14185 строк.
Какой метод я могу использовать, чтобы получить этот огромный канал? Будет ли работать urlfetch?
Заранее спасибо за помощь!
A_iyer