@crybabycry
Учу питон

Как организовать нормальный вывод xml для дальнейшей обработки?

При попытке загрузить xml для парсинга загружается байт-код, на сколько я понял, и ничего с ним нельзя сделать. В лучшем случае отображаются только латинские символы.

Код ниже:

import bs4 as bs
import urllib.request

source = urllib.request.urlopen('https://www.fl.ru/rss/all.xml?category=2').read()
soup = bs.BeautifulSoup(source,'lxml')


table = soup.find('channel')
table_rows = table.find_all('item')

print(table_rows[1])


Получаю:
<item>
<title></title>
<link/>https://www.fl.ru/projects/4080170/fullstack---nodejs-razrabotchik.html
                  <description></description>
<guid>https://www.fl.ru/projects/4080170/fullstack---nodejs-razrabotchik.html</guid>
<category></category><category></category>
<pubdate>Sat, 06 Jul 2019 21:40:45 GMT</pubdate>
</item>


А должен получить:

-<item>
-<title>
-<![CDATA[Fullstack - Node.js разработчик (Бюджет: 130000  руб.)]]>
</title>
<link>https://www.fl.ru/projects/4080170/fullstack---nodejs-razrabotchik.html</link>
-<description>
-<![CDATA[В тематике криптовалют нужно закончить несколько самостоятельных модулей на отдельных поддоменах, которые собирают информацию через API с главного проекта, важно заложить...]]>
</description>
<guid>https://www.fl.ru/projects/4080170/fullstack---nodejs-razrabotchik.html</guid>
-<category>
-<![CDATA[Разработка сайтов / Веб-программирование]]>
</category>
-<category>
-<![CDATA[Программирование / Системное программирование]]>
</category>
<pubDate>Sat, 06 Jul 2019 21:40:45 GMT</pubDate>
</item>


При принудительном переводе в utf-8 вообще всё превращается в кучу каких-то символов...

Крыша едет уже. Подсобите, ребят, не понимаю...
  • Вопрос задан
  • 75 просмотров
Пригласить эксперта
Ответы на вопрос 3
soup = bs.BeautifulSoup(source.read().decode('cp1251'), 'lxml')
Ответ написан
Комментировать
@crybabycry Автор вопроса
Учу питон
Не помогает...
Traceback (most recent call last):
  File "C:\feedscrape-master\25.py", line 6, in <module>
    soup = bs.BeautifulSoup(source.read().decode('cp1251'), 'lxml')
AttributeError: 'bytes' object has no attribute 'read'
Ответ написан
Комментировать
зачем Вам BS если python отлично работает с xml без всяких прослоек ?

примеров куча
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы