I'm trying to get specific element from json file.
I have this file and I want to get title and description from the source which has name "Ixbt.com":
{
"status": "ok",
"totalResults": 70,
"articles": [
{
"source": {
"id": null,
"name": "3dnews.ru"
},
"author": null,
"title": "«Фогейм» запустил сервис по продаже ключей для игр из Steam и Ubisoft Connect - 3DNews",
"description": "Онлайн-платформа «Фогейм» объявила о запуске нового раздела, в котором продаются ключи к популярным играм для сторонних площадок.",
"url": "https://3dnews.ru/1064336/fogeym-zapustil-servis-po-prodage-klyuchey-dlya-igr-iz-steam-i-ubisoft-connect",
"urlToImage": "https://3dnews.ru/assets/external/illustrations/2022/04/20/1064336/sm.forgame_title.750.jpg",
"publishedAt": "2022-04-20T11:22:00Z",
"content": "- «» , .\r\nSteam Ubisoft Connect. -, , , Steam Ubisoft Connect.\r\n «» , , , « » «Money».\r\n- «» : RPG, , , , , , .\r\n (ELEX II, Beholder 3), : Detroit: Become Human, Dark Souls 3, Euro Truck Simulator 2,… [ 97 chars]"
},
{
"source": {
"id": null,
"name": "Ixbt.com"
},
"author": null,
"title": "«AMP помогает Google ещё больше монополизировать и контролировать интернет». Браузер Brave объявил войну «ускорителю интернета» Google - iXBT.com - новости техники и технологий",
"description": "Браузер Brave, созданный компанией Brave Software, основанной бывшим главой Mozilla, решил начать новую битву с Google. В прошлом году Brave перешёл на собственную поисковую систему, а теперь разработчики решили объявить войну технологии Google AMP.",
"url": "https://www.ixbt.com/news/2022/04/20/amp-google-brave-google.html",
"urlToImage": "https://www.ixbt.com/img/n1/news/2022/3/3/3231_large.jpg",
"publishedAt": "2022-04-20T11:05:00Z",
"content": "Brave, Brave Software, Mozilla, Google. \r\n Brave , Google AMP. , AMP , « ». JavaScript, . Google, -. \r\n, Brave, AMP , , , , AMP Google . \r\n AMP De-AMP. \r\nBrave AMP . , , De-AMP URL-, AMP. , , Bra… [ 61 chars]"
},
{
"source": {
"id": null,
"name": "Mobiltelefon.ru"
},
"author": null,
"title": "Мировой рынок смартфонов терпит падение: отчёт за Q1 2022 - Mobiltelefon.Ru",
"description": "Первый квартал 2022 года позади, а значит пришла пора взглянуть на динамику рынка смартфонов. По данным исследователей Canalys, мировые поставки смарт...",
"url": "https://mobiltelefon.ru/post_1650451241.html",
"urlToImage": "https://mobiltelefon.ru/photo/april22/20/mirovoj_rynok_smartfonov_terpit_padenie_otchet_za_q1_2022_picture6_0_resize.jpg",
"publishedAt": "2022-04-20T10:40:00Z",
"content": "2022 , . Canalys, : 11% . 308 . , Samsung 22 24%. Apple, 15 18% .\r\n Xiaomi OPPO ( OnePlus!), , : 14 13% 11 10% . Vivo ( 10 8%) . , , - . , : , , .\r\n© . Mobiltelefon\r\n canalys.com"
},
{
"source": {
"id": null,
"name": "Mail.ru"
},
"author": "Юлия Углова",
"title": "OnePlus Nord N20: представлена новинка с камерой 64 Мп - Hi-Tech Mail.ru",
"description": "За смартфон с поддержкой 5G просят 282 доллара (22 800 рублей по курсу).",
"url": "https://hi-tech.mail.ru/news/57633-oneplus-nord-n20-predstavlena-novinka-s-kameroy-64-mp/",
"urlToImage": "https://resizer.mail.ru/p/4ee53374-638a-5987-a31e-50897bb86fc5/AQAKuVo1pk_ZOh0f57zib9Zgg-9j3kJm8l2sIiJh7af8eeRJNDq7t8yZ2d_HxzdrBTfyvZAYW2vfEyzZULh6gNCTDHs.jpg",
"publishedAt": "2022-04-20T10:07:00Z",
"content": "6,43- AMOLED- Full HD (1920 × 1080 ), 60 - . , GizmoChina.\r\n«» Qualcomm Snapdragon 695, 6- . 6 128 . microSD. 4500 33 .\r\n , OnePlus Nord N20 16- - 64- . 2- 2- .\r\n Android 11 OxygenOS 11. , … [ 67 chars]"
},
{
"source": {
"id": null,
"name": "Mobiltelefon.ru"
},
"author": null,
"title": "Google Pixel 6a получит программно урезанную камеру - Mobiltelefon.Ru",
"description": "Анонс Pixel 6a всё ближе, подробностей о смартфоне — всё больше. Так, уже точно известно, что по начинке он почти не будет отличаться от Pixel 6/6 Pro...",
"url": "https://mobiltelefon.ru/post_1650447220.html",
"urlToImage": "https://mobiltelefon.ru/photo/april22/20/google_pixel_6a_poluchit_programmno_urezannuu_kameru_picture2_0_resize.jpg",
"publishedAt": "2022-04-20T09:33:00Z",
"content": "Pixel 6a , . , , Pixel 6/6 Pro Google Tensor 6 . Google ? .\r\n Kuba Wojciechowski Pixel_Experience_2021, Pixel Google. Motion Mode, , . «bluejay», Pixel 6a. , , , , Sony IMX363 () Sony IMX386 ().\r\n , … [ 49 chars]"
},
{
"source": {
"id": null,
"name": "Ixbt.com"
},
"author": null,
"title": "AMD сделает бюджетные дискретные видеокарты бесполезными. Ryzen 7000 могут получить iGPU уровня выше Radeon RX 6500 XT - iXBT.com - новости техники и технологий",
"description": "Мобильные процессоры Ryzen 6000 поколения Rembrandt получили iGPU с архитектурой RDNA 2, которые получились невероятно производительными для своего класса. Но, похоже, это ещё цветочки по сравнению с тем, что AMD готовит в следующем поколении. Согласно свежим…",
"url": "https://www.ixbt.com/news/2022/04/20/amd-ryzen-7000-igpu-radeon-rx-6500-xt.html",
"urlToImage": "https://www.ixbt.com/img/n1/news/2022/3/3/AMD-Ryzen-6000-with-RDNA-2-GPU-Radeon-680M-very_compressed-scale-4_00x-Custom-2060x1443_large.png",
"publishedAt": "2022-04-20T09:15:00Z",
"content": "Ryzen 6000 Rembrandt iGPU RDNA 2, . , , , AMD . \r\n , APU Ryzen 7000 Phoenix 1024–1536 ! , Radeon 680M. , Radeon RX 6500 XT 1024 , Radeon 780M . , iGPU , , Ryzen 7000 , . \r\n iGPU AMD. , Radeon 780M RX… [ 16 chars]"
},
{
"source": {
"id": null,
"name": "Ixbt.com"
},
"author": null,
"title": "Apple планирует резко опустить цену iPhone 12 и iPhone 12 mini - iXBT.com - новости техники и технологий",
"description": "Как сообщает iDropNews, компания Apple начала планировать новую ценовую политику, связанную с осенним выпуском линейки iPhone 14. Источник подтверждает предыдущую информацию о том, что компания из Купертино снизит цену на iPhone 12 с 699 до 599 долларов.",
"url": "https://www.ixbt.com/news/2022/04/20/apple-iphone-12-iphone-12-mini.html",
"urlToImage": "https://www.ixbt.com/img/n1/news/2022/3/3/274472485_953612318626351_9081122162009397093_n_1280x720-800-resize_large_large.jpg",
"publishedAt": "2022-04-20T09:06:00Z",
"content": "iDropNews, Apple , iPhone 14.\r\n , iPhone 12 699 599 . iPhone 12 mini, 499 .\r\n , Apple . iPhone 11, .\r\n iPhone 14 : 5,4- . 6,1- 6,7- . iPhone 14, 14 Max, 14 Pro 14 Pro Max. 6,1- iPhone 14 Pro 6,7- iPh… [ 123 chars]"
},
{
"source": {
"id": null,
"name": "Overclockers.ru"
},
"author": "Zelot",
"title": "NVIDIA выпустила первые инженерные образцы GeForce RTX 4090 – старт продаж назначен на сентябрь 2022 - overclockers.ru",
"description": "Во второй половине 2022 года в продажу поступят также процессоры AMD и Intel и видеокарты AMD",
"url": "https://overclockers.ru/blog/TEXHAPb/show/65801/nvidia-vypustila-pervye-inzhenernye-obrazcy-geforce-rtx-4090-start-prodazh-naznachen-na-sentyabr-2022",
"urlToImage": "https://overclockers.ru/st/legacy/blog/370098/299433_O.png",
"publishedAt": "2022-04-20T08:41:00Z",
"content": ", 2022 . , 2020 , . , , PlayStation 5 Xbox Series X . AMD Ryzen 5000- , . , - , , , . , , . Proof of stake (PoS).\r\n2022 Intel Raptor Lake 13- AMD Ryzen 7000- . 10- , 5 . , . Radeon RX 7000- , - 2022 … [ 218 chars]"
},
{
"source": {
"id": null,
"name": "Ixbt.com"
},
"author": null,
"title": "Эти умные часы пользователи ждали много лет. Google Pixel Watch засветились на изображении - iXBT.com - новости техники и технологий",
"description": "Долгожданные умные часы Google Pixel Watch, как ожидается, представят уже на конференции Google I/O в первой половине мая. А сегодня мы можем оценить их внешний вид. Изображение демонстрирует устройство с круглым экраном и одним физическим элементом управлени…",
"url": "https://www.ixbt.com/news/2022/04/20/google-pixel-watch.html",
"urlToImage": "https://www.ixbt.com/img/n1/news/2022/3/3/rohan.jpg",
"publishedAt": "2022-04-20T08:33:00Z",
"content": "Google Pixel Watch, , Google I/O . . \r\n . , , , . \r\n , Google , . , , . , Wear OS, , Google - . \r\n Google . 2017 ."
},
{
"source": {
"id": null,
"name": "Mobiltelefon.ru"
},
"author": null,
"title": "Анонс Realme Q5 и Q5 Pro — старые знакомые с небольшими правками - Mobiltelefon.Ru",
"description": "В Китае состоялась презентация Realme Q5 и Q5 Pro, нацеленных на среднебюджетный сегмент. На поверку обе модели оказались ребрендингом ранее представл...",
"url": "https://mobiltelefon.ru/post_1650440220.html",
"urlToImage": "https://mobiltelefon.ru/photo/april22/20/anons_realme_q5_i_q5_pro___picture2_0_resize.jpg",
"publishedAt": "2022-04-20T07:37:00Z",
"content": "Realme Q5 Q5 Pro, . . , Realme Q5 Pro Realme GT Neo 2 ( 65 80 ), . « » Snapdragon 870 5000 , . (64 8 2 ), : 6,62\" AMOLED E4 120 . , 5 , .\r\n Realme Q5, , Realme 9 Pro, . , . -, : 33 60 . -, 64- 50… [ 2003 chars]"
}
]
}
Now I'm doing like that and it gives me an error:
TypeError: string indices must be integers
from this code:
from re import S
import requests
import shutil
response = requests.get('https://newsapi.org/v2/top-headlines?category=technology&pageSize=10&country=ru&apiKey=<apiKey>')
print(response.status_code)
response.encoding = "utf-8"
data = response.json()
for vals in data:
if vals['source']['name'] == "Ibxt.com" :
title = vals['title']
desc = vals['description']
print(title)
print(description)
What am I doing wrong? I only need to get news from certain source name. How could that be done? Thank you in advance!
CodePudding user response:
Here's what you need to do:
for d in data['articles']:
if d['source']['name'] == 'Ixbt.com':
title = d['title']
desc = d['description']
print(title, desc)
Output:
Эти умные часы пользователи ждали много лет. Google Pixel Watch засветились на изображении - iXBT.com - новости техники и технологий Долгожданные умные часы Google Pixel Watch, как ожидается, представят уже на конференции Google I/O в первой половине мая. А сегодня мы можем оценить их внешний вид. Изображение демонстрирует устройство с круглым экраном и одним физическим элементом управлени…