Разобрать RSS-канал для CSV - PullRequest
       1

Разобрать RSS-канал для CSV

0 голосов
/ 13 февраля 2020

Я пытаюсь проанализировать RSS-ленту трендов Google в формате CSV.

import requests
import os
from bs4 import BeautifulSoup

dir_path = os.path.dirname(os.path.realpath(__file__));
os.chdir(dir_path)

z=requests.get('https://trends.google.com/trends/trendingsearches/daily/rss?geo=US')


from xml.etree import ElementTree
tree = ElementTree.parse((z.text))
root = tree.getroot()

for att in root:
    first = att.find('title').text
    for subatt in att.find('ht:news_item_title'):
        second = subatt.find('ht:approx_traffic').text
        print('{},{}'.format(first, second))

Не получается заставить это работать.

1 Ответ

0 голосов
/ 13 февраля 2020

Вы передаете все содержимое XML в качестве имени файла, поэтому вы получаете сообщение об ошибке.

Измените его на fromstring согласно документам , так как вы читаете rss-файл.

from xml.etree import ElementTree
root = ElementTree.fromstring(z.text)

Вам придется переписать логи c, чтобы найти нужные элементы после этого.

...