用utf-8编码,保存以下冷僻药物到同目录下的txt文件中,双击py文件就可以自动生成简易说明书。
巴特日七味丸
绿袍散
茵陈五苓糖浆
脑灵素胶囊
槐耳颗粒
小儿珠珀散
黄藤素软胶囊
灭菌结晶磺胺
草酸艾司西酞普兰片
炔雌醇环丙孕酮片
阿昔莫司胶囊
苹果酸氯波必利片
翘栀牙痛颗粒
双环醇片
氟米龙滴眼液
昆仙胶囊
当归龙荟片
硒酵母片
吡哌酸片
汞溴红溶液(红药水)
吡诺克辛滴眼液
依巴斯汀
美辛唑酮红古豆醇酯栓
硫酸羟氯喹片 关节炎
骨化三醇胶丸 骨质疏松
茴三硫片
铝镁二甲硅油片
氨糖美辛肠溶片
L-谷氨酰胺呱仑酸钠颗粒
吡诺克辛滴眼液 白内障
曲咪新乳膏
枫蓼肠胃康颗粒
枸橼酸铋钾片/替硝唑片/克拉霉素片组合
奥沙普秦片
富马酸喹硫平片
氨咖甘片
长春宝口服液
九气拈痛丸 痛经
美索巴莫分散片
丹鹿通督片
盐酸达泊西汀片
替普瑞酮胶囊
复合凝乳酶胶囊
坤灵丸
脾氨肽口服冻干粉
五海瘿瘤丸
嘎日迪五味丸
卵磷脂络合碘片
海马追风膏
小儿珠珀散
氟比诺芬凝胶贴膏
洋地黄片
以下为具体代码:
import requests
import re
def getweb(drug_name):
url_entrance = f’https://baike.baidu.com/item/{drug_name}’
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36'}
r = requests.get(url_entrance,headers=headers)
r.raise_for_status()
r.encoding = r.apparent_encoding
r = r.text
pat = r'<meta name="description" content="(.*?)">'
result = re.compile(pat).findall(r)[0].strip('...').strip('.')
return result
if name == ‘main’:
drug_names0 = []
with open('冷僻药物名.txt','r',encoding='utf-8') as file:
while True:
drug_name = file.readline().strip('\n')#
if drug_name == '':
break
drug_names0.append(drug_name)
print('去重前:',len(drug_names0),'种药')
drug_names = list(set(drug_names0))
drug_names.sort(key=drug_names0.index)
print('去重后:',len(drug_names),'种药')
for i in range(len(drug_names)):
drug_name = drug_names[i]
string = str(i+1).rjust(2,'0') + ' ' + '【' + drug_name + '】'
try:
result = getweb(drug_name)
with open('冷僻药物简易说明书.txt','a+') as f:
f.write(string)
f.write('\n')
f.write(result)
f.write('\n'*2)
print(string)
print(result)
except Exception as e:
# print(e)
with open('冷僻药物简易说明书.txt','a+') as f:
f.write(string)
f.write('\n')
f.write('百科未查到,请自行添加:')
f.write('\n'*3)
print(string)
print('百科未查到,请自行添加:')
print('\n','=='*30,'\n')
continue
print('\n','=='*30,'\n')
print('程序结束!')