爬取百度百科冷僻药物,自动生成简易说明书

用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('程序结束!')









评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

最懂编程的医生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值