如何爬取CFDA的公开数据

完成日期:2017年9月13日 修改日期:2017年9月14日

1.下载CFDA官方APP

  访问CFDA的网页版是不明智的,正常访问都会出现问题。我们选择曲线救国的方式,下载CFDA的官方app:中国食药监。安装完成后,我们需要点击“数据查询-基础数据”的添加按钮,在栏目管理中选择我们感兴趣的内容。

输入图片说明

2.下载安装破解Charles

  我们使用Charles来监控请求的方式和url。安装过程,请访问这个博客:Charles:一个好用的监测各个端请求发送接收的软件

3.配置Charles和手机

3.1.配置Charles

  我们需要首先配置Charles,如下图所示,我们选择Proxy->Proxy Settings

  然后,我们可以勾选上这里,允许http的代理。这使得我们的手机可以使用代理。 输入图片说明输入图片说明

3.2.配置手机

  这里不举例子,可以搜索自己的机型在使用某一个WiFi的时候如何配置代理服务,只需要记得端口就是上图中的8888,ip就是wifi时的ip,可以用Windows命令行中的ipconfig来查看。

4.监控app访问的接口

  例如:我们在进口药品搜索处,搜索“片”。就可以得到这样的url。 输入图片说明

  感觉这样的url有点突然,我们把它放到浏览器中观察,发现关键词放在了searchK的值里,所以,我们大胆地推断:如果不给searchK值,那么,它会搜索所有的内容。 输入图片说明

  故而,我们得到下面的url:

http://appcfda.drugwebcn.com/datasearch/QueryList?tableId=36&searchF=Quick%20Search&searchK=&pageIndex=1&pageSize=15

  其中,pageSize显然是每一页显示多少条,pageIndex为页码。(tableId来标志我们爬的数据库表的id)。得到了url,我们可以使用最简单的爬取方式进行爬取了。如果使用多线程,一定不要定义过多的线程,另外,线程之间要设置间隔,防止反爬虫的发生。

5.附录:部分信息获取url:

titleurl
国产药品列表页http://appcfda.drugwebcn.com/datasearch/QueryList?tableId=25&searchF=Quick%20Search&searchK=&pageIndex=1&pageSize=15
国产药品详情页http://appcfda.drugwebcn.com/datasearch/QueryRecord?tableId=25&searchF=ID&searchK=176257
进口药品列表页http://appcfda.drugwebcn.com/datasearch/QueryList?tableId=36&searchF=Quick%20Search&searchK=&pageIndex=1&pageSize=15
进口药品详情页http://appcfda.drugwebcn.com/datasearch/QueryRecord?tableId=36&searchF=ID&searchK=12092
互联网药品信息服务列表页http://appcfda.drugwebcn.com/datasearch/QueryList?tableId=28&searchF=Quick%20Search&searchK=&pageIndex=1&pageSize=15
互联网药品信息服务详情页http://appcfda.drugwebcn.com/datasearch/QueryRecord?tableId=28&searchF=ID&searchK=4024

转载于:https://my.oschina.net/hengbao666/blog/1551645

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值