查看原文
其他

“挂羊头卖狗肉”?

爬虫俱乐部 Stata and Python数据分析 2023-10-24

本文作者:郭泽源,中南财经政法大学金融学院

本文编辑:周一鸣

技术总编:方一卓

Stata and Python 数据分析

爬虫俱乐部Stata基础课程Stata进阶课程Python课程可在小鹅通平台查看,欢迎大家多多支持订阅!如需了解详情,可以通过课程链接(https://appbqiqpzi66527.h5.xiaoeknow.com/homepage/10)或课程二维码进行访问哦~


1. 引言‍‍‍‍‍‍近日,想必大家都被新冠弄得苦不堪言,随着感染人数越来越越多,药店资源不断吃紧,感冒药、退烧药更是”一药难求“,比如说感冒灵、止咳糖浆、维C银翘片等等这些都是人们经常用到的中成药。但只要仔细观察其成分,这些中成药多多少少都含有一些西药成分,比如对乙酰氨基酚、扑尔敏、马来酸氯苯那敏等,而这些西药成分又是用来治疗感冒发烧的良药。所以,是否有理由怀疑这些所谓的中成药本质上还是由其含有的西药成分来发挥作用,即是否有”挂羊头卖狗肉“的嫌疑?保护中医药,不能被资本主义color歌鸣!小编就来带大家爬取一下市场上含有西药的中成药都有哪些。


2. 爬取药融云网站‍‍‍‍含有西药的中成药主要集中在抗感冒药、止咳平喘药、胃肠类药等三大类药物中。所含西药主要有扑尔敏、对乙酰氨基酚、麻黄碱、苯海拉明、维生素C,还有治疗糖尿病的格列苯脲等等。本文使用python从药融云网站得到需要的数据:‍



以爬取含有对乙酰氨基酚的中成药为例,由于这是一个动态网页,需要在浏览器开发者模式中找到真实的网页源代码,操作如下:
import requestsimport jsonheaders={ 'accept': 'application/x.myapp.v1+json', 'accept-encoding': 'gzip, deflate, br', 'accept-language': 'zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6', 'authorization': 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwczpcL1wvc2VydmVyLnBoYXJuZXhjbG91ZC5jb21cL2V4dGVybmFsXC9hdXRoZW50aWNhdGVcL3dlY2hhdFwvYXV0aG9yaXphdGlvbnMiLCJpYXQiOjE2NzE2MTc4MjIsImV4cCI6MTY3MTY0NjYyMiwibmJmIjoxNjcxNjE3ODIyLCJqdGkiOiJXVkVXZWNYd3NVVE5QeVhwIiwic3ViIjoxOTg5NDMsInBydiI6ImRmNjgyMTFiZGE2NDA0ZGQ2NGExZmRkMDJmMmIyMTk5MWU4YjYxMzQiLCJuaWNrbmFtZSI6bnVsbH0.GcsnjJBdoIzE7gHVimGSpa42y78zUgt_dOUeLWlHvzE', 'content-length': '99', 'content-type': 'application/json;charset=UTF-8', 'origin': 'https://www.pharnexcloud.com', 'referer': 'https://www.pharnexcloud.com/', 'sec-fetch-dest': 'empty', 'sec-fetch-mode': 'cors', 'sec-fetch-site': 'same-site', 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36 Edg/108.0.1462.54', 'version': '20201216'}url="https://server.pharnexcloud.com/external/medical/databases/43/documents"a={'module_id': 218, 'precise': 0, 'value': "对乙酰氨基酚"}
data={"filters":[a],"per_page":10000,"page":1}data=json.dumps(data)
res=requests.post(url,data,headers=headers)print(res.json())结果如下:


3. 数据整理将上述爬取到的全部药品(包括含有对乙酰氨基酚、马来酸氯苯那敏、咖啡因、麻黄碱、安乃近、维生素)读入到stata中,整理如下:
clear allcap mkdir "D:\药品"cd "D:\药品"set obs 1gen v = fileread("对乙酰氨基酚.txt")split v,p(`"{'drug_name':"')drop v v1sxpose,clearsplit _var1,p(`"', '"')drop _var1 _var12 _var19gen 名称 = ustrregexs(1) if ustrregexm(_var11,`"'(.*)"')gen 国药准字 = ustrregexs(1) if ustrregexm(_var14,`"approval_number': '(.*)"')gen 品类 = ustrregexs(1) if ustrregexm(_var16,`"type': '(.*)"')gen 成分 = ustrregexs(1) if ustrregexm(_var15,`"(含.*)"')gen 厂商 = ustrregexs(1) if ustrregexm(_var17,`"manufacturer': '(.*)"')drop _var11 _var13 _var14 _var15 _var16 _var17 _var18 keep if index(品类,"中药")format 成分 %-60sformat 厂商 %-60ssave "对乙酰氨基酚.dta",replaceclear cd D:\含西药的中成药local files: dir "." file "*.dta"foreach file in `files' { append using `file'}duplicates drop结果如下:

汇总后统计结果有1200多种药品,现在我们来剔除相同药品的不同厂商的重复值,并降序排序:
bysort 名称 : gen 总数 = _Nduplicates drop 名称,forcegsort -总数最终结果如下,还剩下84种药物,在这里只截取数量较大的一些:

由以上结果可以看到,市场上众多的中成药中含有西药成分的还是不少的,主要集中分布在抗感冒药和清热解毒药中。

其实,中药中添加西药化学成分一直是一个争论很大的问题,争论主要集中在两方面:一方面,有人认为中药中添加适当的西药也是合理发挥中西医优势,最大化的起到治病救人的目的,只要结果是好的,怎样操作并不重要。然而,持反对意见的更是占据更大部分,主要包括:第一,中成药大部分上都比西药要贵,既然贵,里边还添加一些西药,那么最后治好病那应该算是中医的功劳,还是西药的功劳?第二,在中成药中非法添加西药成分会给病人带来一定危险。比如”消渴丸“,是一种用来治疗糖尿病的中成药,但是这种药中含有较高的”格列本脲“成分,这可能导致病人摄入过多剂量的”格列本脲“,引发低血糖。

近些年来,国家药监局已经明文规定:不得在中成药中随意非法添加西药化学成分。对于那些没有得到国家药监局批准的中成药,已经被明确认定为假药。这些药大都以中药为幌子,非法添加西药成分,稍有不慎就有可能对病人造成不可挽回的危险。中西药之争已经存在很多年,对于含有西药成分的中成药,一定要认准国家药监局的批准,中药监管道路仍然任重而道远!


END
重磅福利!为了更好地服务各位同学的研究,爬虫俱乐部将在小鹅通平台上持续提供金融研究所需要的各类指标,包括上市公司十大股东、股价崩盘、投资效率、融资约束、企业避税、分析师跟踪、净资产收益率、资产回报率、国际四大审计、托宾Q值、第一大股东持股比例、账面市值比、沪深A股上市公司研究常用控制变量等一系列深加工数据,基于各交易所信息披露的数据利用Stata在实现数据实时更新的同时还将不断上线更多的数据指标。我们以最前沿的数据处理技术、最好的服务质量、最大的诚意望能助力大家的研究工作!相关数据链接,请大家访问:(https://appbqiqpzi66527.h5.xiaoeknow.com/homepage/10)或扫描二维码:

最后,我们为大家揭秘雪球网(https://xueqiu.com/)最新所展示的沪深证券和港股关注人数增长Top10。



对我们的推文累计打赏超过1000元,我们即可给您开具发票,发票类别为“咨询费”。用心做事,不负您的支持!



往期推文推荐  Python与excel交互--xlsxwriter模块

cnmapsearch——离公司最近的快餐店在哪

Python中的异常处理 Python交互式数据可视化——酷炫的Altair库 hk系列命令(3)—— hktrade hk系列命令(2)—— hkar hk系列命令(1)—— hkstock 超好用的字符串方法 基于Python的假设检验实现Stata与MySQL交互--基础操作 Jupyter Notebook中的魔术命令《Stata正则表达式》由中国金融出版社出版发行   匿名函数lambda到底怎么用?Stata绘图系列—NBER Working paper仿图Camelot:从PDF中提取表格数据Stata之计算财务指标——融资约束 列表生成式|让你的代码更简洁Stata绘图系列——玩转绘图通用选项之坐标轴
     关于我们 

   微信公众号“Stata and Python数据分析”分享实用的Stata、Python等软件的数据处理知识,欢迎转载、打赏。我们是由李春涛教授领导下的研究生及本科生组成的大数据处理和分析团队。

   武汉字符串数据科技有限公司一直为广大用户提供数据采集和分析的服务工作,如果您有这方面的需求,请发邮件到statatraining@163.com,或者直接联系我们的数据中台总工程司海涛先生,电话:18203668525,wechat: super4ht。海涛先生曾长期在香港大学从事研究工作,现为知名985大学的博士生,爬虫俱乐部网络爬虫技术和正则表达式的课程负责人。



此外,欢迎大家踊跃投稿,介绍一些关于Stata和Python的数据处理和分析技巧。

投稿邮箱:statatraining@163.com投稿要求:1)必须原创,禁止抄袭;2)必须准确,详细,有例子,有截图;注意事项:1)所有投稿都会经过本公众号运营团队成员的审核,审核通过才可录用,一经录用,会在该推文里为作者署名,并有赏金分成。

2)邮件请注明投稿,邮件名称为“投稿+推文名称”。3)应广大读者要求,现开通有偿问答服务,如果大家遇到有关数据处理、分析等问题,可以在公众号中提出,只需支付少量赏金,我们会在后期的推文里给予解答。



您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存