西门子中国(授权)一级代理 中山市代理商PLC
| 更新时间 2024-11-17 08:00:00 价格 请来电询价 西门子变频器 西门子触摸屏 西门子伺服电机 西门子PLC 西门子直流调速器 西门子电缆 联系电话 13922889745 联系手机 18475208684 联系人 向小姐 立即询价 |
详细介绍
“电气自动化搬砖打工人的IT探索之路”
声明:本篇文章纯粹记录如何下载通过python下载西门子技术中心文档,所下载文档完全自己学习使用,非商业用途;本文以西门子技术中心"S7-200 smart"手册下载为例,不适用于其它项目;
编辑
由于西门子技术中心网站是由JS渲染,常规的requsts+beautiful sopu 无法获取需要的资源;通过对网页请求内容进行抓包解析发现,所有查询结果均通过接口实现,返回数据为JSON结构,且内部包含相关手册下载链接;因此,技术实现通过Requests.get()获取接口内容,然后提取下载链接进行下载;
一. 获取接口信息
通过抓包工具Fiddler Classic或者直接使用浏览器工具(edge按F12即可)可获取网页所有请求信息,Fiddler Classic比较直观,如下图查询s7-200 samrt 手册请求信息;有了接口信息就可以开始python程序编写;
编辑
二. python程序设计
程序适用requests_html获取接口数据,再对返回数据Json数据进行处理,因此需要安装requests_html库和Json库;
2.1 安装requests_html库:
2.2 安装JSON库:
2.3 python库安装完成后即可开始程序编写,获取返回结果,并将JSON转换为python对象字典,具体代码如下:
session = requests_html.HTMLSession()host = "https://support.industry.siemens.com"API = "/webbackend/api/ProductSupport/ProductSupportSearch"url = host+APIpayload = {'language': 'zh', 'region': 'cn', 'networks': 'Internet', 'documentType': 'Manual', 'suppressedResource': 'productNodePath', '$search': "'s7-1200'", '$orderby': 'DefaultRankingDesc', '$top': '100', '$skip': f'{skpitem}', '$inlinecount': 'allpages'}try: content = session.get(url, params=urllib.parse.urlencode( payload, quote_via=urllib.parse.quote, safe='$')) print("请求接口完成") data = json.loads(content.text)except: print("请求接口失败")
返回结果(示例):
2.4 转化完成后即可提取下载链接并保存文件,代码如下:
至此程序完成,本程序jinxian于测试,正常需要多次运行减少bug;
相关产品
产品分类
联系方式
- 电 话:13922889745
- 经理:向小姐
- 手 机:18475208684
- 微 信:18475208684