News Scraper всегда получает вторую последнюю статью вместо последней - PullRequest
1 голос
/ 27 апреля 2020

Я сделал скребок для новостей, который получает RSS-канал веб-сайта под названием «Фороникс» и сохраняет его в текстовом файле. Но по какой-то причине он получает вторую последнюю статью вместо последней.

Вот код:

import feedparser
import time

def Log():
    f = open("Logs/phoronixdb.txt", "a")
    f.write("\n")
    f.write("\n" + entry.published)
    f.write("\n")
    f.write("\n" + entry.title)
    f.write("\n")
    f.write("\n" + entry.summary)
    f.write("\n")
    f.write("\n" + entry.link)
    f.close()

def CheckDate():
    f2 = open("db/phoronixlastdate.txt", "r")
    date = f2.read()
    if date == entry.published:
        f2.close()
    else:
        Log()
        f2.close()
        f2 = open("db/phoronixlastdate.txt", "w")
        f2.write(entry.published)
        f2.close()

while True:
    NewsFeed = feedparser.parse("https://www.phoronix.com/rss.php")
    entry = NewsFeed.entries[1]
    CheckDate()
    time.sleep(5)

1 Ответ

1 голос
/ 27 апреля 2020

Я думаю, что

entry = NewsFeed.entries[1]

должно быть

entry = NewsFeed.entries[0]

Это потому, что я считаю, что записи возвращают список статей в виде массива, где начальный индекс (0 ) соответствует первой статье и т. д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...