Получение повторяющихся данных при просмотре разных дат, чтобы получать 100 статей каждый день (ограничение на бесплатную версию) из NewsApi - PullRequest
0 голосов
/ 05 августа 2020

Я пытаюсь использовать NewsApi для создания необработанного набора данных. Бесплатная версия NewsApi ограничивает только 100 статей на запрос и может быть go не старше 30 дней. Я написал функции для l oop через каждый день 30-дневного периода, чтобы собрать в общей сложности 3000 статей (100 на каждый день). Однако, похоже, что многие статьи дублируются. Я не понимаю, где я ошибся, может ли кто-нибудь помочь мне решить эту проблему? Вот мой код:

def last_30_days(date):                  # function to calculate last 30 days
    date_list = [date - timedelta(days=x) for x in range(30)]
    return sorted(date_list)

def from_date(x):                                           # function to calculate the from_param
    from_date=[]
    for i in range(len(x)):
        from_date.append(last_30_days(datetime.today())[i-1].date())
    return from_date

def to_date(x):                                         # function to calculate the to_param
    to_date=[]
    for i in range(len(x)):
        to_date.append(last_30_days(datetime.today())[i].date())
    return to_date
    

from_date_list = from_date(last_30_days(datetime.today()))
to_date_list = to_date(last_30_days(datetime.today()))

api_key_1 = 'XXXXXXXXXXXXXXXXX'
url = 'http://newsapi.org/v2/everything?'

parameters_1 = {
    'q':'covid OR coronavirus OR pandemic',
    'apiKey':api_key_1,
    'language': 'en',
    'pageSize': 100,
    'page_number':1,
    'sort_by': 'publishedAt',
    'from':from_date,
    'to':to_date
}

data_1 = pd.DataFrame()

for (from_date, to_date) in zip(from_date_list, to_date_list):
    response = requests.get(url, params=parameters_1)    
    response_json = response.json()
    d1 = json_normalize(response_json['articles'])
    data_1 = data_1.append(d1)
data_1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...