導航:首頁 > 編程語言 > python中tag

python中tag

發布時間:2022-07-19 04:42:42

Ⅰ 怎樣用python的BeautifulSoup修改頁面里的元素

BeautifulSoup是不能夠直接修改tag的值的,但是可以修改tag中的屬性的值:

  1. 例如,把rows從142改為153,把cols改為33等等;

  2. 如果只是輸出顯示的話,可以使用Python的replace:

  3. mystring='<textareaname="text"rows="142"cols="23"wrap="physic">sdasd</textarea>'
    soup=BeautifulSoup(mystring)
    printstr(soup.textarea).replace('sdasd','new')

Ⅱ python處理是Xml文件的,刪除標簽屬性符合條件的!如<data name="test"id="

你可以使用 BeautifulSoup 套件:
安裝:
pip install bs4

如果覺得 html 解析器不敷使用,參考文檔安裝其他適合的解析器。
如果想要詳細了解 BeautifulSoup 也請參考官方文檔(有中文版本)。
測試檔:
以下是我使用的測試文件:
# delete.txt
126
147

# test.xml
<re>
<id>123</id>
<name>abc</name>
</re>
<re>
<id>126</id>
<name>abc</name>
</re>
<re>
<id>135</id>
<name>abc</name>
</re>
<re>
<id>147</id>
<name>abc</name>
</re>

代碼:
from bs4 import BeautifulSoup

with open('test.xml') as reader:
xml = reader.read()

deleted_id = []

with open('delete.txt') as reader:
for line in reader:
line = line.strip()
deleted_id.append(line)

def has_delete_id(tag):
return tag.name=='re' and tag.id.string in deleted_id

soup = BeautifulSoup(xml, 'html.parser')

tags = soup(has_delete_id)
for tag in tags:
tag.decompose()

print(soup.prettify())

程式輸出:
<re>
<id>
123
</id>
<name>
abc
</name>
</re>
<re>
<id>
135
</id>
<name>
abc
</name>
</re>

代碼說明:
首先我們從 Beautiful Soup 的套件中匯入 BeautifulSoup 類
from bs4 import BeautifulSoup

接著分別從 delete.txt 和 test.xml 中讀出要刪除的 id 和主要的 xml 內容,下一步是實體化生成一個 BeautifulSoup對象 soup, 我們採用 html.parser 解析器去解析 xml:
soup = BeautifulSoup(xml, 'html.parser')

在此我們定義了一個用於過濾的 function has_delete_id,每一個在 xml 中的tag 只要是 <re> tag 且含有想要刪除的 <id> tag 就會被檢索出來:
def has_delete_id(tag):
return tag.name=='re' and tag.id.string in deleted_id

接著 soup(has_delete_id) 會幫助我們找到欲刪除的 tag,接著走訪搜索出來的這些 tag 並呼叫方法 decompose() 來從文件中刪除該標簽。
最後 soup.prettify()可以幫助我們輸出修改後的文件。

Ⅲ python 讀取dicom tag 結果為空值

可能出現了中文亂碼的問題。
DICOM全稱為Digital Imaging and Communications in Medicine,即醫學數字成像和通信標准。本文中讀取的CT圖像就是使用DICOM標准存儲的。其實不只CT圖像,大部分臨床影像都被存儲為DICOM格式,如MR與PET圖像。DICOM文件中除了包含有影像數據外,還囊括了大量機器,患者信息。這些信息被存儲在一個個tags or attributes之下。Pydicom包為我們提供了非常簡單易用的方法來讀取這些文件。
Python 由 Guido van Rossum 於 1989 年年底出於某種娛樂目的而開發, Python 語言是基於 ABC 教學語言的,而 ABC 這種語言非常強大,是專門為非專業程序員設計的。但 ABC 語言並沒有獲得廣泛的應用, Guido 認為是非開放造成的。
Python 的「出身」部分影響了它的流行,Python 上手非常簡單,它的語法非常像自然語言,對非軟體專業人士而言,選擇 Python 的成本最低,因此某些醫學甚至藝術專業背景的人,往往會選擇 Python 作為編程語言。

Ⅳ python中如何通過判斷是否存在指定tag,截取tag中包含的內容

>>>s=""//FEATURE_COMMOAN @{
........
........"""
>>> import re
>>> reg=re.compile(r"//FEATURE_COMMON\s+@\{(.*?)//@\}\s+FEATURE_COMMON",re.DOTALL)
>>> reg.findall(s)

Ⅳ Python中extract_tags()怎麼對多行文本提取特徵詞而不是一行一行計算

[python] view plain
#coding:utf-8
import sys
reload(sys)
sys.setdefaultencoding("utf-8")
from multiprocessing import Pool,Queue,Process
import multiprocessing as mp
import time,random
import os
import codecs
import jieba.analyse
jieba.analyse.set_stop_words("yy_stop_words.txt")

def extract_keyword(input_string):
#print("Do task by process {proc}".format(proc=os.getpid()))
tags = jieba.analyse.extract_tags(input_string, topK=100)
#print("key words:{kw}".format(kw=" ".join(tags)))
return tags

#def parallel_extract_keyword(input_string,out_file):
def parallel_extract_keyword(input_string):
#print("Do task by process {proc}".format(proc=os.getpid()))
tags = jieba.analyse.extract_tags(input_string, topK=100)
#time.sleep(random.random())
#print("key words:{kw}".format(kw=" ".join(tags)))
#o_f = open(out_file,'w')
#o_f.write(" ".join(tags)+"\n")
return tags
if __name__ == "__main__":

data_file = sys.argv[1]
with codecs.open(data_file) as f:
lines = f.readlines()
f.close()

out_put = data_file.split('.')[0] +"_tags.txt"
t0 = time.time()
for line in lines:
parallel_extract_keyword(line)
#parallel_extract_keyword(line,out_put)
#extract_keyword(line)
print("串列處理花費時間{t}".format(t=time.time()-t0))

pool = Pool(processes=int(mp.cpu_count()*0.7))
t1 = time.time()
#for line in lines:
#pool.apply_async(parallel_extract_keyword,(line,out_put))
#保存處理的結果,可以方便輸出到文件
res = pool.map(parallel_extract_keyword,lines)
#print("Print keywords:")
#for tag in res:
#print(" ".join(tag))

pool.close()
pool.join()
print("並行處理花費時間{t}s".format(t=time.time()-t1))

運行:
python data_process_by_multiprocess.py message.txt
message.txt是每行是一個文檔,共581行,7M的數據

運行時間:

不使用sleep來掛起進程,也就是把time.sleep(random.random())注釋掉,運行可以大大節省時間。

Ⅵ python 中關於beautifulsoup列印tag標簽中內容的問題

import re

...
patt = re.compile(r'<.+?>(.+?)<\/.+?>')
for td in soup.findAll('td'):
print(td.getString())

Ⅶ python tkinter 的Text控制項為什麼tag_add和tag_config用不了

報錯提示給你說的很明顯了......
可能是「text1」在你代碼中間被替換了,
變成了None,
檢查代碼吧。。。

Ⅷ Python tag解析

這個不難啊,用id來定位元素,然後就可以了。id通常是唯一的。

frombs4importBeautifulSoup
html_doc='<ahref="http://example.com/elsie"class="sister"id="link1">Elsie</a>,'
soup=BeautifulSoup(html_doc,'html.parser')
printsoup.find(id="link1").string#=>'Elsie'
閱讀全文

與python中tag相關的資料

熱點內容
戰雙程序員 瀏覽:483
him觸摸編程軟體 瀏覽:931
植物大戰僵屍存檔怎麼轉移安卓 瀏覽:852
java棧的元素 瀏覽:737
程序員與籃球事件 瀏覽:675
app反編譯不完整 瀏覽:788
電腦上的文件夾怎麼調整 瀏覽:7
伺服器無響應是什麼原因呀 瀏覽:984
wd文檔里的app怎麼製作 瀏覽:513
電腦里的文件夾沒有了一般能恢復嗎 瀏覽:418
哪裡有配加密鑰匙的 瀏覽:210
伺服器開不了機怎麼把數據弄出來 瀏覽:958
gif動態圖片怎麼壓縮 瀏覽:521
黑猴子棒球壓縮文件解壓密碼 瀏覽:631
如何讓app適應不同的手機屏幕大小 瀏覽:10
蘋果手機如何給安卓手機分享軟體 瀏覽:761
蘋果電腦怎麼運行騰訊雲伺服器 瀏覽:59
明日之後沙石堡命令助手 瀏覽:261
蛋糕店用什麼樣的app 瀏覽:877
長安銀行信用卡app怎麼取現 瀏覽:635