完成日期: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,我们可以使用最简单的爬取方式进行爬取了。如果使用多线程,一定不要定义过多的线程,另外,线程之间要设置间隔,防止反爬虫的发生。