Extract only breaking news via get_news_headline

djp
djp Newcomer
edited April 24 in Eikon Data APIs

I am looking for a way to use the get_news_headlines function within a python script via the Eikon/LSEG-Data API, in a way that the query will only return results which are classified as breaking news, such as the example in the attached screenshot.

Currently my function call looks like this:
ek.get_news_headlines(query="(Topic:MRG or Source:DRUDIS or Report:DEALS) and Language:LEN", count=100, date_from=start_date, date_to=end_date)

and I'm looking for a way to extend it, such that the function outputs are only breaking news headlines.

Answers

  • Jirapongse
    Jirapongse ✭✭✭✭✭

    @djp

    Thank you for reaching out to us.

    To get significant news, you can use the 'Topic:SIGNWS' news code.

    image.png

    You need to use the LSEG Data Library for Python to retrieve news headlines.

    df = ld.news.get_headlines(
        "(Topic:MRG or Source:DRUDIS or Report:DEALS) and Language:LEN and Topic:SIGNWS",
        count=100)
    df
    

    The examples are on GitHub.

    To get other news headlines, please contact the helpdesk team via MyAccount and ask the news codes that provide the required headlines. Then, you can add the news codes into the query.

  • djp
    djp Newcomer

    Thanks @Jirapongse, that helps.

    As a follow-up: how can I access all search results, given that the get_news_headlines function output is capped at a maximum output size of 100?

    For instance, in the below screenshot I am getting 100 results, but based on the timestamps at the bottom of the output, it appears clear that there must have been more headlines with timestamps earlier than 11:00:08.779:

    image.png
  • Jirapongse
    Jirapongse ✭✭✭✭✭

    @djp

    The current limit value is 100 headlines per request and the depth of history is 15 months. 

    You can refer to the LSEG Data Library for Python: News Pagination article to retrieve the next snapshot of headlines that matches a news query string.

  • djp
    djp Newcomer
    edited April 25

    Hi @Jirapongse,

    Thanks for creating the News Pagination page; however, when trying to run (within the Workspace app) this code mentioned in there:

    image.png

    , I'm getting this error:

    image.png

    Could this be a versioning issue?

    Moreover, another follow-up question from my side (helpdesk advised to post this question here):

    Is there a way to run a news headlines query that only returns results containing a particular string in their ‘text’ field? For instance, instead of getting all query results pertaining to some topics (e.g. as above, "(Topic:MRG or Source:DRUDIS or Report:DEALS) and Language:LEN and Topic:SIGNWS"), I’d like to restrict the result set further, such that only results containing the keyword “Deutsche” are returned by the get_news_headlines function.

  • Jirapongse
    Jirapongse ✭✭✭✭✭

    @djp

    The full example is on GitHub. It uses news from lseg.data.content, not ld.news.

    from lseg.data.content import news
    
    
    headlines_def = news.headlines.Definition(
    query = "R:LSEG.L",
    date_from = datetime.datetime.today(),
    date_to = datetime.datetime.today() - datetime.timedelta(weeks=12),
    count=100)
    headlines_df_list = []
    get_all_headlines(headlines_def, headlines_df_list)
    pd.concat(headlines_df_list)

    Please try this one:

     "(Topic:MRG or Source:DRUDIS or Report:DEALS) and Language:LEN and Topic:SIGNWS and 'Deutsche'",