python 爬取文本內容并寫入json文件

背景: 項目需要從html 提取說明書目錄

實現: 由于html是包含所有內容,所以將其中目錄部分手動重新生成一個html 文件dir26.html

python

import requests
from bs4 import BeautifulSoup
import jsonfilename = "dir26.html"  # 替換為實際的文件路徑
with open(filename, "r") as file:html = file.read()soup = BeautifulSoup(html, "html.parser")results = soup.find_all('div') # 根據需要修改選擇器
# print("soup:",soup)
# print("results:",results)# 提取數據并轉換為JSON格式
data = []
for result in results:#print(result.text)resulttext = result.textdirectory = resulttext.split(" ")[0] // 取第一個空格之前的內容print(directory)page = resulttext.split(" ")[2]//取第三個空格之前的內容print(page)data.append({'directory': directory, 'page': page})# 寫入JSON文件
with open("manualdir.json", "w") as file:json.dump(data, file, ensure_ascii=False)

android中讀取Json 中的內容代碼:

// 存儲Json中的信息
private LinkedHashMap<String, String> mDirMap = new LinkedHashMap<String, String>();
private void initDirectory() {byte[] buffer;try {//將json文件讀取到buffer數組中InputStream is = getContext().getResources().getAssets().open("manualdir.json");buffer = new byte[is.available()];is.read(buffer);} catch (IOException e) {Log.w(TAG, "manual dir json IOException e:" + e);return;}//  將字符數組轉換為UTF-8編碼的字符串String json;try {json = new String(buffer, "UTF-8");} catch (UnsupportedEncodingException e) {Log.w(TAG, "manual dir json UnsupportedEncodingException e" + e);return;}//將字符串json轉換為json對象,以便于取出數據try {JSONArray jsa = new JSONArray(json);for (int i = 0; i < jsa.length();i++){JSONObject jso = jsa.getJSONObject(i);Log.w(TAG, " jsa.length():" +  jsa.length());String title = jso.optString("directory");//標題Log.w(TAG, "title:"+title);int page = jso.optInt("page");//目錄頁數mDirMap.put(title, "#pf"+Integer.toHexString(page));}} catch (JSONException e) {Log.w(TAG, "manual dir json exception e:"+e);}}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/715766.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/715766.shtml
英文地址,請注明出處:http://en.pswp.cn/news/715766.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

ES 備份索引

1、先創建索引 PUT file_info_sps_demo1 {"settings": {"index": {"number_of_shards": "1","blocks": {"read_only_allow_delete": "true"},"max_result_window": "500000",&quo…

階躍信號與沖擊信號

奇異信號&#xff1a;信號與系統分析中&#xff0c;經常遇到函數本身有不連續點&#xff08;跳變電&#xff09;或其導函數與積分有不連續點的情況&#xff0c;這類函數稱為奇異函數或奇異信號&#xff0c;也稱之為突變信號。以下為一些常見奇異函數。 奇異信號 單位斜變信號 …

C#雙向鏈表實現:Append()方法追加并顯示數據

目錄 一、涉及到的知識點 1.定義 2.雙向鏈表與單向鏈表的區別 二、實例 一、涉及到的知識點 1.定義 在雙向鏈表中&#xff0c;每個節點有兩個指針域&#xff0c;一個指向它的前一個節點&#xff08;即直接前驅&#xff09;&#xff0c;另一個指向它的后一個節點&#xff0…

Ubuntu18.04安裝RTX2060顯卡驅動+CUDA+cuDNN

Ubuntu18.04安裝RTX2060顯卡驅動CUDAcuDNN 1 安裝RTX2060顯卡驅動1.1 查看當前顯卡是否被識別1.2 安裝驅動依賴1.3 安裝桌面顯示管理器1.4 下載顯卡驅動1.5 禁用nouveau1.6 安裝驅動1.7 查看驅動安裝情況 2 安裝CUDA2.1 查看當前顯卡支持的CUDA版本2.2 下載CUDA Toolkit2.3 安裝…

車燈修復UV膠的優缺點有哪些?

車燈修復UV膠的優點如下&#xff1a; 優點&#xff1a; 快速固化&#xff1a;通過紫外光照射&#xff0c;UV膠可以在5-15秒內迅速固化&#xff0c;提高了修復效率。高度透明&#xff1a;固化后透光率高&#xff0c;幾乎與原始車燈材料無法區分&#xff0c;修復后車燈外觀更加…

對緩沖區的初步認識——制作進度條小程序

對緩沖區的初步認識--進度條小程序 前言預備知識回車和換行的區別輸出緩沖區/n 有清空輸出緩沖區的作用stdout是什么&#xff1f;驗證一切皆文件為什么是\n行刷新&#xff1f; 倒計時程序原理 代碼實現為什么這里要強制刷新&#xff1f;沒有會怎樣&#xff1f;為什么是輸出的是…

RabbitMQ安裝及使用

系列文章目錄 文章目錄 系列文章目錄前言一、下載二、安裝三、插件安裝四、配置五、權限六、集群模式 前言 前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到網站&#xff0c;這篇文章男女通用&…

【MATLAB源碼-第154期】基于matlab的OFDM系統多徑信道下塊狀和梳妝兩種導頻插入方式誤碼率對比仿真。

操作環境&#xff1a; MATLAB 2022a 1、算法描述 OFDM&#xff08;Orthogonal Frequency Division Multiplexing&#xff0c;正交頻分復用&#xff09;是一種高效的無線信號傳輸技術&#xff0c;廣泛應用于現代通信系統&#xff0c;如Wi-Fi、LTE和5G。OFDM通過將寬帶信道劃分…

[機緣參悟-158] :西游記中的“佛” 、“道”之爭

目錄 前言 一、西游記中的佛教元素 1.1 佛教元素 1.2 西游記佛教思想 1.3 佛教的三界五行&#xff1a;物質世界 1.4 佛教中不在三界內&#xff0c;不在五行中&#xff1a;精神世界 二、西游記中的道教元素 2.1 主要元素 2.2 道家思想 三、“佛”如何兼容“道” 3.1 …

RK3568 Android12 適配抖音 各大APP

RK3568 Android12 適配抖音 各大APP SOC RK3568 system:Android 12 平臺要適配抖音和各大APP 平臺首先打開抖音發現攝像頭預覽尺寸不對只存在右上角,我將抖音APP裝在手機上預覽,發現是全屏 一開始瀏覽各大博客 給出的解決方法是修改framework 設置為全屏顯示: framewo…

2369. 檢查數組是否存在有效劃分

2369. 檢查數組是否存在有效劃分 題目鏈接&#xff1a;2369. 檢查數組是否存在有效劃分 代碼如下&#xff1a; //動態規劃 class Solution { public:bool validPartition(vector<int>& nums) {vector<int> dp(nums.size()1,false);//dp[i]表示前i個元素組成的…

Tomcat基礎及與Nginx實現動靜分離,搭建高效穩定的個人博客系統

目錄 引言 一、TOMCAT基礎功能 &#xff08;一&#xff09;自動解壓war包 &#xff08;二&#xff09;狀態頁 1.登錄狀態頁 2.遠程登錄 &#xff08;三&#xff09;服務管理界面 &#xff08;四&#xff09;Host虛擬主機 1.設置虛擬主機 2.建立站點目錄與文件 二、實…

使用QEMU搭建U-Boot+LinuxKernel+busybox+NFS嵌入式開發環境

目錄 0.課程大綱1.為什么要使用QEMU學習嵌入式QEMU簡介使用QEMU可以做哪些事情?當前嵌入式行業現狀如何適應這種變化使用QEMU學習嵌入式有哪些好處?驅動開發技能為什么要學習Linux 2.搭建嵌入式開發基本環境2.1.安裝u-boot-tools2.2.安裝交叉編譯工具什么是ABI和EABI 3.QEMU安…

三、基準時鐘、生成時鐘、虛擬時鐘的約束和意義

**前言&#xff1a;**前面從理論角度出發學習了時序分析的基本原理&#xff0c;本篇從設計的角度學習如何合理添加時鐘約束。 文章目錄 一、基準時鐘&#xff08;base clock&#xff09;和生成時鐘(generate clock)二、基準時鐘的約束1.完成綜合&#xff08;run implementatio…

linux的通信方案(SYSTEM V)

文章目錄 共享內存(Share Memory)信號隊列&#xff08;Message Queue&#xff09;信號量(semaphore) 進程間通信的核心理念&#xff1a;讓不同的進程看見同一塊資源 linux下的通信方案&#xff1a; SYSTEM V 共享內存(Share Memory) 特點&#xff1a;1.共享內存是進程見通信最…

排序(4)——堆排序

目錄 堆排序&#xff08;回顧&#xff09; 基本思路 代碼實現 向下調整排序 AdjustDown 建堆排序 時間復雜度 特性總結 堆排序&#xff08;回顧&#xff09; 重點回顧戳&#x1f449;堆排序 基本思路 堆排序(Heapsort)是指利用堆積樹&#xff08;堆&#xff09;這種數…

SOCKS5代理、代理IP與網絡安全的奇妙旅程

在數字時代&#xff0c;互聯網安全和隱私成為了熱門話題。從個人瀏覽習慣到企業數據保護&#xff0c;每個人都希望他們的在線活動既安全又私密。在這個背景下&#xff0c;了解SOCKS5代理、代理IP、HTTP協議和網絡安全的基礎知識變得尤為重要。 什么是SOCKS5代理&#xff1f; SO…

鴻蒙系統開發適配注意事項

鴻蒙操作系統&#xff08;HarmonyOS&#xff09;的軟件適配涉及到一些特定的注意事項&#xff0c;以確保應用程序在該操作系統上的正常運行和最佳性能。以下是適配鴻蒙軟件時需要注意的一些關鍵問題&#xff0c;希望對大家有所幫助。北京木奇移動技術有限公司&#xff0c;專業的…

MySQL篇—執行計劃介紹(第二篇,總共三篇)

??博主介紹??&#xff1a; ?又是一天沒白過&#xff0c;我是奈斯&#xff0c;DBA一名? ???擅長Oracle、MySQL、SQLserver、Linux&#xff0c;也在積極的擴展IT方向的其他知識面??? ??????大佬們都喜歡靜靜的看文章&#xff0c;并且也會默默的點贊收藏加關注?…

Python 編輯工具 Jupyter notebook

Jupyter notebook Jupyter Notebook是基于網頁的用于交互計算的應用程序。其可被應用于全過程計算&#xff1a;開發、文檔編寫、運行代碼和展示結果。——Jupyter Notebook官方介紹 官網&#xff1a;Project Jupyter | Home Jupyter Notebook 是一個開源的交互式計算環境&#…