I'm making request using python for news api.
How can I get the source with the name "Ixbt.com" and then get title and description using python loop?
{
"source": {
"id": "google-news",
"name": "Google News"
},
"author": null,
"title": "Samsung выпустит лимитированный Galaxy Z Flip3 для поклонников Pokemon - Rozetked",
"description": null,
"url": "https://news.google.com/__i/rss/rd/articles/CBMiZmh0dHBzOi8vcm96ZXRrZWQubWUvbmV3cy8yMzA4OC1zYW1zdW5nLXZ5cHVzdGl0LWxpbWl0aXJvdmFubnl5LWdhbGF4eS16LWZsaXAzLWRseWEtcG9rbG9ubmlrb3YtcG9rZW1vbtIBAA?oc=5",
"urlToImage": null,
"publishedAt": "2022-04-19T10:07:40Z",
"content": null
},
{
"source": {
"id": null,
"name": "Ixbt.com"
},
"author": null,
"title": "Уникальная во всём карманная игровая приставка. Поставки консоли Playdate наконец-то стартовали - iXBT.com - новости техники и технологий",
"description": "Очень необычная игровая приставка Panic Playdate была представлена ещё в 2019 году, но лишь сейчас компания начала первые поставки. В письме к клиентам компания рассказала, что поставки первой партии стартовали вчера и продлятся в течение ближайших недель.",
"url": "https://www.ixbt.com/news/2022/04/19/unikalnaja-vo-vsjom-karmannaja-igrovaja-pristavka-postavki-konsoli-playdate-nakonecto-startovali.html",
"urlToImage": "https://www.ixbt.com/img/n1/news/2022/3/2/playdate-boxed-2_large.jpg",
"publishedAt": "2022-04-19T10:07:00Z",
"content": "Panic Playdate 2019 , . \r\n , . , , . \r\n Panic . , - , . \r\n 2022 , , . 2023 , .\r\n, Playdate , ."
},
I have idea, but not sure.
I guess it should look like that:
print([article["source"].get("name") for article in data["articles"]])
But that's wrong.
CodePudding user response:
articles = [{
"source": {
"id": "google-news",
"name": "Google News"
},
"author": None,
"title": "Samsung выпустит лимитированный Galaxy Z Flip3 для поклонников Pokemon - Rozetked",
"description": None,
"url": "https://news.google.com/__i/rss/rd/articles/CBMiZmh0dHBzOi8vcm96ZXRrZWQubWUvbmV3cy8yMzA4OC1zYW1zdW5nLXZ5cHVzdGl0LWxpbWl0aXJvdmFubnl5LWdhbGF4eS16LWZsaXAzLWRseWEtcG9rbG9ubmlrb3YtcG9rZW1vbtIBAA?oc=5",
"urlToImage": None,
"publishedAt": "2022-04-19T10:07:40Z",
"content": None
},
{
"source": {
"id": None,
"name": "Ixbt.com"
},
"author": None,
"title": "Уникальная во всём карманная игровая приставка. Поставки консоли Playdate наконец-то стартовали - iXBT.com - новости техники и технологий",
"description": "Очень необычная игровая приставка Panic Playdate была представлена ещё в 2019 году, но лишь сейчас компания начала первые поставки. В письме к клиентам компания рассказала, что поставки первой партии стартовали вчера и продлятся в течение ближайших недель.",
"url": "https://www.ixbt.com/news/2022/04/19/unikalnaja-vo-vsjom-karmannaja-igrovaja-pristavka-postavki-konsoli-playdate-nakonecto-startovali.html",
"urlToImage": "https://www.ixbt.com/img/n1/news/2022/3/2/playdate-boxed-2_large.jpg",
"publishedAt": "2022-04-19T10:07:00Z",
"content": "Panic Playdate 2019 , . \r\n , . , , . \r\n Panic . , - , . \r\n 2022 , , . 2023 , .\r\n, Playdate , ."
}]
for article in articles:
source_name = article['source']['name']
Something more than it?
CodePudding user response:
I think it can be achieved by the following code and also depends on how you are going to store the titles and descriptions of those source names.
news =[
{
"source": {
"id": "google-news",
"name": "Google News"
},
"author": null,
"title": "Samsung выпустит лимитированный Galaxy Z Flip3 для поклонников Pokemon - Rozetked",
"description": null,
"url": "https://news.google.com/__i/rss/rd/articles/CBMiZmh0dHBzOi8vcm96ZXRrZWQubWUvbmV3cy8yMzA4OC1zYW1zdW5nLXZ5cHVzdGl0LWxpbWl0aXJvdmFubnl5LWdhbGF4eS16LWZsaXAzLWRseWEtcG9rbG9ubmlrb3YtcG9rZW1vbtIBAA?oc=5",
"urlToImage": null,
"publishedAt": "2022-04-19T10:07:40Z",
"content": null
},
{
"source": {
"id": null,
"name": "Ixbt.com"
},
"author": null,
"title": "Уникальная во всём карманная игровая приставка. Поставки консоли Playdate наконец-то стартовали - iXBT.com - новости техники и технологий",
"description": "Очень необычная игровая приставка Panic Playdate была представлена ещё в 2019 году, но лишь сейчас компания начала первые поставки. В письме к клиентам компания рассказала, что поставки первой партии стартовали вчера и продлятся в течение ближайших недель.",
"url": "https://www.ixbt.com/news/2022/04/19/unikalnaja-vo-vsjom-karmannaja-igrovaja-pristavka-postavki-konsoli-playdate-nakonecto-startovali.html",
"urlToImage": "https://www.ixbt.com/img/n1/news/2022/3/2/playdate-boxed-2_large.jpg",
"publishedAt": "2022-04-19T10:07:00Z",
"content": "Panic Playdate 2019 , . \r\n , . , , . \r\n Panic . , - , . \r\n 2022 , , . 2023 , .\r\n, Playdate , ."
}
]
for vals in news:
if vals['source']['name'] == "Ibxt.com" :
title = vals['title']
desc = vals['description']
If you want to store those titles and description to new list/dictornary we can add/append them by creating new variables accordingly