Как разобрать несколько каналов из CSV-файла с feedparser? - PullRequest
0 голосов
/ 22 апреля 2019

Я пытаюсь проанализировать несколько каналов (500) из списка в файле CSV и сохранить результаты в другой файл CSV.Проблема в том, что парсер перебирает только один фид в списке.

writer = csv.writer(open('items.csv', 'w'))
reader = csv.reader(open('feeds.csv', 'r'))
next(reader) # skip column headings

for row in reader:
    url = row[0]
    print (url)
df = pd.DataFrame(row)
df = pd.DataFrame(columns=['author', 'title', 'link','summary', 'published'])
for i, post in enumerate(feed.entries):
    df.loc[i] = post.author, post.title, post.link, post.summary, post.published

df

CSV-файл выглядит следующим образом CSV List feeds.cav

1 Ответ

0 голосов
/ 24 апреля 2019

Я наконец-то решил свою проблему, вот окончательный код, если у кого-то возникнет подобная проблема в будущем

import feedparser
import csv
import pandas as pd

reader = csv.reader(open('feeds.csv', 'r'))
next(reader) # column headings
df = pd.DataFrame(columns=['author', 'title', 'link','summary', 'published'])
for row in reader:
    url = row[0]
    print (url)

    feed = feedparser.parse(url)

    for i, post in enumerate(feed.entries):
        df.loc[len(df)] = post.author, post.title, post.link, post.summary, post.published

df.to_csv('myfilename.csv', index=False)
...