python字符串截取及Html解析
生活随笔
收集整理的這篇文章主要介紹了
python字符串截取及Html解析
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
場景:一串字符串,包括html代碼,包括特定符號,目標是提取特定符號中間的子字符串,并且解析html代碼提取相關屬性的值。
安裝:pip install?BeautifulSoup4
代碼參考:
import re from bs4 import BeautifulSoup from os.path import basename, splitext string1='CO潴留時可出現以下哪些癥狀或體征<http://h5.img.zhukao.com.cn/Z/%E5%85%A8%E5%9B%BD/Z_%E5%85%A8%E5%9B%BD_%E5%BF%83%E8%A1%80%E7%AE%A1%E5%86%85%E7%A7%91/images/2.gif>|A.神志淡漠|B.腱反射消' string2='心血管內科|常見癥狀與體征(X型題)|多選題|對于漏出性腹腔積液特點正確的是|A.外觀多為透明淡黃色|B.胸腔積液/血清LDH比值大于0.6|C.細胞計數常低于200×10<img layer-src=\'http://h5.img.zhukao.com.cn/Z/全國/Z_全國_心血管內科/images/YZ71_~6.gif\' src=\'http://h5.img.zhukao.com.cn/Z/全國/Z_全國_心血管內科/images/YZ71_~6.gif\' style=\'max-width:200px; width:auto;\'>/L|D.比重小于1.018|E.血清腹腔積液白蛋白濃度梯度多大于11g/L|正確答案:A D E解析:腹腔積液漏出液細胞計數常低于100×10/L。' string=string1+string2 p=re.compile(r'[<](.*?)[>]', re.S) matches = re.findall(p,string) imgs=[] for match in matches:print (match)if match.find('img')==0:#包含html代碼,img在字符串首位soup = BeautifulSoup("<"+match+">")img = soup.find_all('img')src=img[0].get('src')imgs.append(src)else:imgs.append(match)#不包含html代碼 print (imgs)正則compile設置的提取<和>之間的子字符串。
執行結果:
http://h5.img.zhukao.com.cn/Z/%E5%85%A8%E5%9B%BD/Z_%E5%85%A8%E5%9B%BD_%E5%BF%83%E8%A1%80%E7%AE%A1%E5%86%85%E7%A7%91/images/2.gif img layer-src='http://h5.img.zhukao.com.cn/Z/全國/Z_全國_心血管內科/images/YZ71_~6.gif' src='http://h5.img.zhukao.com.cn/Z/全國/Z_全國_心血管內科/images/YZ71_~6.gif' style='max-width:200px; width:auto;' ['http://h5.img.zhukao.com.cn/Z/%E5%85%A8%E5%9B%BD/Z_%E5%85%A8%E5%9B%BD_%E5%BF%83%E8%A1%80%E7%AE%A1%E5%86%85%E7%A7%91/images/2.gif', 'http://h5.img.zhukao.com.cn/Z/全國/Z_全國_心血管內科/images/YZ71_~6.gif']?
總結
以上是生活随笔為你收集整理的python字符串截取及Html解析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 概率编程库Pymc3案例之神经网络(批量
- 下一篇: python下处理win和linux分行