主頁 > 軟體設計 > 如何從Python中的json檔案中獲取某些元素?

如何從Python中的json檔案中獲取某些元素?

2022-04-22 01:38:38 軟體設計

我正在嘗試從 json 檔案中獲取特定元素。

我有這個檔案,我想從名為“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]"
    }
  ]
}

現在我這樣做,它給了我一個錯誤:

TypeError: string indices must be integers

從此代碼:

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)

我究竟做錯了什么?我只需要從某個來源名稱獲取新聞。那怎么可能呢?先感謝您!

uj5u.com熱心網友回復:

這是您需要做的:

for d in data['articles']:
    if d['source']['name'] == 'Ixbt.com':
        title = d['title']
        desc = d['description']

print(title, desc)

輸出:

Эти умные часы пользователи ждали много лет. Google Pixel Watch засветились на изображении - iXBT.com - новости техники и технологий Долгожданные умные часы Google Pixel Watch, как ожидается, представят уже на конференции Google I/O в первой половине мая. А сегодня мы можем оценить их внешний вид. Изображение демонстрирует устройство с круглым экраном и одним физическим элементом управлени…

轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/460462.html

標籤:Python api

上一篇:圖形API呼叫問題-POST事件

下一篇:在Python代碼中使用RESTEPA會出現錯誤此代碼有什么問題?

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 面試突擊第一季,第二季,第三季

    第一季必考 https://www.bilibili.com/video/BV1FE411y79Y?from=search&seid=15921726601957489746 第二季分布式 https://www.bilibili.com/video/BV13f4y127ee/?spm_id_fro ......

    uj5u.com 2020-09-10 05:35:24 more
  • 第三單元作業總結

    1.前言 這應該是本學期最后一次寫作業總結了吧。總體來說,對作業的節奏也差不多掌握了,作業做起來的效率也更高了。雖然和之前的作業一樣,作業中都要用到新的知識,但是相比之前,更加懂得了如何利用工具以及資料。雖然之間卡過殼,但總體而言,這幾次作業還算完成的比較好。 2.作業程序總結 相比前兩個單元,此單 ......

    uj5u.com 2020-09-10 05:35:41 more
  • 北航OO(2020)第四單元博客作業暨課程總結博客

    北航OO(2020)第四單元博客作業暨課程總結博客 本單元作業的架構設計 在本單元中,由于UML圖具有比較清晰的樹形結構,因此我對其中需要進行查詢操作的元素進行了包裝,在樹的父節點中存盤所有孩子的參考。考慮到性能問題,我采用了快取機制,一次查詢后盡可能快取已經遍歷過的資訊,以減少遍歷次數。 本單元我 ......

    uj5u.com 2020-09-10 05:35:48 more
  • BUAA_OO_第四單元

    一、UML決議器設計 ? 先看下題目:第四單元實作一個基于JDK 8帶有效性檢查的UML(Unified Modeling Language)類圖,順序圖,狀態圖分析器 MyUmlInteraction,實際上我們要建立一個有向圖模型,UML中的物件(元素)可能與同級元素連接,也可與低級元素相連形成 ......

    uj5u.com 2020-09-10 05:35:54 more
  • 6.1邏輯運算子

    邏輯運算子 1. && 短路與 運算式1 && 運算式2 01.運算式1為true并且運算式2也為true 整體回傳為true 02.運算式1為false,將不會執行運算式2 整體回傳為false 03.只要有一個運算式為false 整體回傳為false 2. || 短路或 運算式1 || 運算式2 ......

    uj5u.com 2020-09-10 05:35:56 more
  • BUAAOO 第四單元 & 課程總結

    1. 第四單元:StarUml檔案決議 本單元采用了圖模型決議UML。 UML檔案可以抽象為圖、子圖、邊的邏輯結構。 在實作中,圖的節點包括類、介面、屬性,子圖包括狀態圖、順序圖等。 采用了三次遍歷UML元素的方法建圖,第一遍遍歷建點,第二、三次遍歷設定屬性、連邊,實作圖物件的初始化。這里借鑒了一些 ......

    uj5u.com 2020-09-10 05:36:06 more
  • 談談我對C# 多型的理解

    面向物件三要素:封裝、繼承、多型。 封裝和繼承,這兩個比較好理解,但要理解多型的話,可就稍微有點難度了。今天,我們就來講講多型的理解。 我們應該經常會看到面試題目:請談談對多型的理解。 其實呢,多型非常簡單,就一句話:呼叫同一種方法產生了不同的結果。 具體實作方式有三種。 一、多載 多載很簡單。 p ......

    uj5u.com 2020-09-10 05:36:09 more
  • Python 資料驅動工具:DDT

    背景 python 的unittest 沒有自帶資料驅動功能。 所以如果使用unittest,同時又想使用資料驅動,那么就可以使用DDT來完成。 DDT是 “Data-Driven Tests”的縮寫。 資料:http://ddt.readthedocs.io/en/latest/ 使用方法 dd. ......

    uj5u.com 2020-09-10 05:36:13 more
  • Python里面的xlrd模塊詳解

    那我就一下面積個問題對xlrd模塊進行學習一下: 1.什么是xlrd模塊? 2.為什么使用xlrd模塊? 3.怎樣使用xlrd模塊? 1.什么是xlrd模塊? ?python操作excel主要用到xlrd和xlwt這兩個庫,即xlrd是讀excel,xlwt是寫excel的庫。 今天就先來說一下xl ......

    uj5u.com 2020-09-10 05:36:28 more
  • 當我們創建HashMap時,底層到底做了什么?

    jdk1.7中的底層實作程序(底層基于陣列+鏈表) 在我們new HashMap()時,底層創建了默認長度為16的一維陣列Entry[ ] table。當我們呼叫map.put(key1,value1)方法向HashMap里添加資料的時候: 首先,呼叫key1所在類的hashCode()計算key1 ......

    uj5u.com 2020-09-10 05:36:38 more
最新发布
  • 【中介者設計模式詳解】C/Java/JS/Go/Python/TS不同語言實作

    * 中介者模式是一種行為型設計模式,它可以用來減少類之間的直接依賴關系,
    * 將物件之間的通信封裝到一個中介者物件中,從而使得各個物件之間的關系更加松散。
    * 在中介者模式中,物件之間不再直接相互互動,而是通過中介者來中轉訊息。 ......

    uj5u.com 2023-04-20 08:20:47 more
  • 露天煤礦現場調研和交流案例分享

    他們集團的資訊化公司及研究院在一個礦區正在做智能礦山的統一平臺的 試點,專案投資大概1億,包括了礦山的各方面的內容,顯示得我們這次交流有點多余。他們2年前開始做智能礦山的規劃,有很多煤礦行業專家的加持,他們的描述是非常完美,但是去年底應該上線的平臺,現在還沒有看到影子。他們確實有很多場景需求,但是被... ......

    uj5u.com 2023-04-20 08:20:25 more
  • 《社區人員管理》實戰案例設計&個人案例分享

    設計是一個讓人夢想成真程序,開始編碼、測驗、除錯之前進行需求分析和架構設計,才能保證關鍵方面都做正確 ......

    uj5u.com 2023-04-20 08:20:17 more
  • 軟體架構生態化-多角色交付的探索實踐

    作為一個技術架構師,不僅僅要緊跟行業技術趨勢,還要結合研發團隊現狀及痛點,探索新的交付方案。在日常中,你是否遇到如下問題 “ 業務需求排期長研發是瓶頸;非研發角色感受不到研發技改提效的變化;引入ISV 團隊又擔心質量和安全,培訓周期長“等等,基于此我們探索了一種新的技術體系及交付方案來解決如上問題。 ......

    uj5u.com 2023-04-20 08:20:10 more
  • 【中介者設計模式詳解】C/Java/JS/Go/Python/TS不同語言實作

    * 中介者模式是一種行為型設計模式,它可以用來減少類之間的直接依賴關系,
    * 將物件之間的通信封裝到一個中介者物件中,從而使得各個物件之間的關系更加松散。
    * 在中介者模式中,物件之間不再直接相互互動,而是通過中介者來中轉訊息。 ......

    uj5u.com 2023-04-20 08:19:44 more
  • 露天煤礦現場調研和交流案例分享

    他們集團的資訊化公司及研究院在一個礦區正在做智能礦山的統一平臺的 試點,專案投資大概1億,包括了礦山的各方面的內容,顯示得我們這次交流有點多余。他們2年前開始做智能礦山的規劃,有很多煤礦行業專家的加持,他們的描述是非常完美,但是去年底應該上線的平臺,現在還沒有看到影子。他們確實有很多場景需求,但是被... ......

    uj5u.com 2023-04-20 08:19:07 more
  • 《社區人員管理》實戰案例設計&個人案例分享

    設計是一個讓人夢想成真程序,開始編碼、測驗、除錯之前進行需求分析和架構設計,才能保證關鍵方面都做正確 ......

    uj5u.com 2023-04-20 08:18:57 more
  • 軟體架構生態化-多角色交付的探索實踐

    作為一個技術架構師,不僅僅要緊跟行業技術趨勢,還要結合研發團隊現狀及痛點,探索新的交付方案。在日常中,你是否遇到如下問題 “ 業務需求排期長研發是瓶頸;非研發角色感受不到研發技改提效的變化;引入ISV 團隊又擔心質量和安全,培訓周期長“等等,基于此我們探索了一種新的技術體系及交付方案來解決如上問題。 ......

    uj5u.com 2023-04-20 08:18:49 more
  • 05單件模式

    #經典的單件模式 public class Singleton { private static Singleton uniqueInstance; //一個靜態變數持有Singleton類的唯一實體。 // 其他有用的實體變數寫在這里 //構造器宣告為私有,只有Singleton可以實體化這個類! ......

    uj5u.com 2023-04-19 08:42:51 more
  • 【架構與設計】常見微服務分層架構的區別和落地實踐

    軟體工程的方方面面都遵循一個最基本的道理:沒有銀彈,架構分層模型更是如此,每一種都有各自優缺點,所以請根據不同的業務場景,并遵循簡單、可演進這兩個重要的架構原則選擇合適的架構分層模型即可。 ......

    uj5u.com 2023-04-19 08:42:41 more