[2020-09-22] Captura de um APP de informações de drogas

Aviso Legal: Este artigo é apenas para estudo e pesquisa, e é proibido de ser usado para fins ilegais, caso contrário você estará por sua própria conta e risco. Se houver qualquer violação, notifique e exclua, obrigado!

Cena do projeto:


Endereço: aHR0cDovL2FwcDEubm1wYS5nb3YuY24vZGF0YV9ubXBhL2ZhY2UzL2Jhc2UuanNwP3RhYmxlSWQ9MjUmdGFibGVOYW1lPVRBQkxFMjUmdGl0bGU9JUU1JTlCJUJEJUU0JUJBJUE3JUU4JThEJUFGJUU1JTkzJTgxJmJjSWQ9MTUyOTA0NzEzNzYxMjEzMjk2MzIyNzk1ODA2NjA0
  1. Há um parâmetro criptografado 6SQk6G2z na interface de dados e a página de detalhes tem parâmetros criptografados c1SoYK0a. Contanto que você saiba de onde vêm esses dois parâmetros, você pode resolver toda a aquisição de dados do site. No entanto, recentemente depurei no front-end da página e o encontrei São os dados obtidos por meio da interface de solicitação + pós-solicitação. O processo de criptografar os parâmetros no meio não é exibido em texto simples. O nome da variável do código JS e o nome da função são completamente confusos e irreversíveis. Talvez eu seja muito bobo para encontrá-los. Se alguém souber, espero que possa Diga ao irmão mais novo como ~
    Insira a descrição da imagem aqui

  2. Use selênio para obter dados, haverá vários problemas, a página irá travar se for rastreada por um longo tempo, IP proxy é necessário, velocidade de rastreamento é lenta, etc ...

Descrição do Problema:

Pensando assim, pegar dados da web não é um bom caminho, então nos voltamos para o APP dele, pegamos o link para solicitar dados no APP dele, preparamos as seguintes ferramentas, e começamos a operar:
  1. Ferramenta de captura de pacotes Fiddler.
  2. Simulador de MuMu ou celular (o blogger usa o simulador, que pode ser inconveniente de operar, recomenda-se o uso de celular ~).
  3. Instale seu APP: link no simulador ou celular .
  4. Não consegue pegar a bolsa do telefone? Bom ~ postar um link https://www.jianshu.com/p/724097741bdf .

solução:


1. Depois de configurar nossas ferramentas, você pode começar a capturar os pacotes, primeiro, limpe as solicitações capturadas pelo fiddler e depois clique nos medicamentos do APP.

Insira a descrição da imagem aqui

2. Muito bom, os dados foram capturados por nós, poste o link, primeiro olhe para o canto superior direito do círculo que circulei na imagem acima, existem vários parâmetros que precisam ser introduzidos.
  1. tableId: ID do tipo de medicamento (o ID único para cada coluna)
  2. pageIndex: o número da página atual
  3. pageSize: a quantidade de dados por página
Em seguida, formate os dados json obtidos, você pode ver o título de cada dado
# 链接--这里注意下,访问链接时需要使用安卓的请求头哦~
http://mobile.nmpa.gov.cn/datasearch/QueryList?tableId=25&searchF=Quick%20SearchK&pageIndex=1&pageSize=15
[
    {
    
    
        "COUNT":162127,
        "CONTENT":"龟龙中风丸 (86901343001160 国药准字Z20020147 沈阳红药集团股份有限公司)",
        "ID":"109228"
    },
    {
    
    
        "COUNT":162127,
        "CONTENT":"龟龄集 (86902884000629 国药准字Z14020687 山西广誉远国药有限公司)",
        "ID":"73590"
    },
    {
    
    
        "COUNT":162127,
        "CONTENT":"龟黄补酒 (86901890000661;86901890000678;86901890000654 国药准字Z20026072 远大医药黄石飞云制药有限公司)",
        "ID":"102841"
    },
    {
    
    
        "COUNT":162127,
        "CONTENT":"龟鹿补肾胶囊 (86905098000638 国药准字Z20123109 广西华天宝药业有限公司)",
        "ID":"120532"
    },
    {
    
    
        "COUNT":162127,
        "CONTENT":"龟鹿补肾片 (86900427000075 国药准字Z20080217 广东心宝药业科技有限公司)",
        "ID":"41884"
    },
    {
    
    
        "COUNT":162127,
        "CONTENT":"龟鹿补肾片 (86903249000087 国药准字Z20090420 郑州福瑞堂制药有限公司)",
        "ID":"133086"
    },
    {
    
    
        "COUNT":162127,
        "CONTENT":"龟鹿补肾口服液 (86900291000263 国药准字Z44023432 广东华天宝药业集团有限公司(药品上市许可持有人))",
        "ID":"108891"
    },
    {
    
    
        "COUNT":162127,
        "CONTENT":"龟鹿补肾丸 (86900415000308 国药准字Z44020148 广州花城药业有限公司)",
        "ID":"142930"
    },
    {
    
    
        "COUNT":162127,
        "CONTENT":"龟鹿补肾丸 (86900291000294 国药准字Z44022779 广东华天宝药业集团有限公司)",
        "ID":"66724"
    },
    {
    
    
        "COUNT":162127,
        "CONTENT":"龟鹿补肾丸 (86900291000270 国药准字Z44022778 广东华天宝药业集团有限公司(药品上市许可持有人))",
        "ID":"114636"
    },
    {
    
    
        "COUNT":162127,
        "CONTENT":"龟鹿益肾胶囊 (86905004000028 国药准字B20020196 湖南康寿制药有限公司)",
        "ID":"155866"
    },
    {
    
    
        "COUNT":162127,
        "CONTENT":"龟鹿滋肾丸 (86900008000272 国药准字Z11020387 北京宝树堂科技药业有限公司)",
        "ID":"161886"
    },
    {
    
    
        "COUNT":162127,
        "CONTENT":"龟鹿滋肾丸 (86905156002598 国药准字Z45020433 广西梧州制药(集团)股份有限公司)",
        "ID":"158752"
    },
    {
    
    
        "COUNT":162127,
        "CONTENT":"龟鹿滋肾丸 (86905156002604 国药准字Z45020432 广西梧州制药(集团)股份有限公司)",
        "ID":"117237"
    },
    {
    
    
        "COUNT":162127,
        "CONTENT":"龟鹿滋肾丸 (86900256000413 国药准字Z44023076 国药集团冯了性(佛山)药业有限公司)",
        "ID":"73911"
    }
]

3. OK, e então vamos pegar o pacote na página de detalhes, aqui também precisa prestar atenção aos seguintes parâmetros:
  1. tableId: ID do tipo de medicamento (o ID único para cada coluna)
  2. searchK: ID dos dados obtidos na página da lista
# 链接
http://mobile.nmpa.gov.cn/datasearch/QueryRecord?tableId=25&searchF=ID&searchK=109228

Insira a descrição da imagem aqui

4. Observe os dados solicitados, os dados são iguais aos da web e, então, você só precisa construir a URL da página da lista de solicitações para obter os dados correspondentes! (Eu acredito que os dados nas outras colunas podem ser obtidos por você que é inteligente ~)
[
    {
    
    
        "NAME":"批准文号",
        "CONTENT":"国药准字Z20020147"
    },
    {
    
    
        "NAME":"产品名称",
        "CONTENT":"龟龙中风丸"
    },
    {
    
    
        "NAME":"英文名称",
        "CONTENT":""
    },
    {
    
    
        "NAME":"商品名",
        "CONTENT":""
    },
    {
    
    
        "NAME":"剂型",
        "CONTENT":"丸剂(水丸)"
    },
    {
    
    
        "NAME":"规格",
        "CONTENT":"每30丸重5g"
    },
    {
    
    
        "NAME":"上市许可持有人",
        "CONTENT":""
    },
    {
    
    
        "NAME":"生产单位",
        "CONTENT":"沈阳红药集团股份有限公司"
    },
    {
    
    
        "NAME":"生产地址",
        "CONTENT":"沈阳市大东区北大营西路2号"
    },
    {
    
    
        "NAME":"产品类别",
        "CONTENT":"中药"
    },
    {
    
    
        "NAME":"批准日期",
        "CONTENT":"2015-07-30"
    },
    {
    
    
        "NAME":"原批准文号",
        "CONTENT":""
    },
    {
    
    
        "NAME":"药品本位码",
        "CONTENT":"86901343001160"
    },
    {
    
    
        "NAME":"药品本位码备注",
        "CONTENT":""
    },
    {
    
    
        "NAME":"注",
        "CONTENT":"企业用户如对药品数据信息有疑问,请及时与我局信息中心数据整理组联系,来电前请备好相应的批件证明材料以备工作人员查询。电话:88331520(工作日);企业用户也可通过发邮件与我们联系:邮件地址[email protected],邮件主题请注明“药品批件问题”,邮件正文中请准确填写以下全部信息:1.药品批准文号/注册证号;2.药品批件号;3.药品批件类型(注册批件、补充批件、包材注册证、药品标准颁布件、再注册批件、其他);4.问题描述(500字以内);5.企业名称(全称);6.统一社会信用代码;7.联系人姓名;8.联系电话(手机和座机);9.电子邮件。以上内容请勿直接以电子邮件附件形式发送。",
        "DESCRIPTION":"企业用户如对药品数据信息有疑问,请及时与我局信息中心数据整理组联系,来电前请备好相应的批件证明材料以备工作人员查询。电话:88331520(工作日);企业用户也可通过发邮件与我们联系:邮件地址[email protected],邮件主题请注明“药品批件问题”,邮件正文中请准确填写以下全部信息:1.药品批准文号/注册证号;2.药品批件号;3.药品批件类型(注册批件、补充批件、包材注册证、药品标准颁布件、再注册批件、其他);4.问题描述(500字以内);5.企业名称(全称);6.统一社会信用代码;7.联系人姓名;8.联系电话(手机和座机);9.电子邮件。以上内容请勿直接以电子邮件附件形式发送。"
    }
]

Observação: você não pode obter os dados solicitando diretamente com as solicitações. Como não há cookie, os cookies são principalmente neCYtZEjo8GmS e neCYtZEjo8GmT. Recomenda-se usar selênio para obter as informações do cookie. Ele expirará em alguns minutos.

Acho que você gosta

Origin blog.csdn.net/qq_26079939/article/details/108732969
Recomendado
Clasificación