栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

requests发送POST请求案例—爬取药监总局化妆品详情数据

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

requests发送POST请求案例—爬取药监总局化妆品详情数据

药监局地址——   化妆品生产许可信息管理系统服务平台

需求分析

进入如下页面 我们要获取如下每一个化妆品公司里面具体的详情数据 需要点击进去

经页面分析 两个页面都是发送的ajax请求。且都是以POST方式进行发送。

代码编写
import requests
import json
headers {
 User-Agent : Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.75 Mobile Safari/537.36 
def get_data():
 url http://scxk.nmpa.gov.cn:81/xk/itownet/portalAction.do?method getXkzsList 
 id_list [] #存储id值
 for k in range(1,6): #提取前5页数据
 data {
 on : true ,
 page : k,
 pageSize : 15 ,
 productName : ,
 conditionType : 1,
 applyname : ,
 applysn : 
 response requests.post(url url,data data,headers headers,timeout 5).json()
 response_list response.get( list ) #为列表
 for i in response_list: #将每一页中的所有的id值提取
 id i.get( ID )
 id_list.append(id)
 return id_list
#获取详情页中的数据
def get_detail_data(id_list):
 url2 http://scxk.nmpa.gov.cn:81/xk/itownet/portalAction.do?method getXkzsById 
 detail []
 for j in id_list:
 data {
 id :j
 response requests.post(url url2,data data,headers headers,timeout 5).json()
 detail.append(response)
 return detail
def save(detail):
 with open( ./药监局.json , w ,encoding utf-8 ) as df:
 json.dump(detail,df,ensure_ascii False)
 print( 共获取 ,len(detail), 条信息 ) #共获取75条信息
def main():
 a get_data()
 b get_detail_data(a)
 save(b)
if __name__ __main__ :
 main()

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/266873.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号