免费发布

通过python下载西门子技术中心文档测试

更新:2024-11-26 08:00 发布者IP:223.74.132.153 浏览:0次
通过python下载西门子技术中心文档测试
供应商:
广东湘恒智能科技有限公司 商铺
企业认证
所在地
惠州大亚湾澳头石化大道中480号太东天地花园2栋二单元9层01号房
联系电话
13922889745
经理
向小姐
手机号
18475208684
让卖家联系我
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库:



  • pip install requests-html



    2.2 安装JSON库:



  • pip install json



    2.3 python库安装完成后即可开始程序编写,获取返回结果,并将JSON转换为python对象字典,具体代码如下:


























  • import requests_htmlimport json
    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("请求接口失败")



    返回结果(示例):













































  • {    "AlternateLanguageTitle": "en",    "AlternateLanguageCount": 13,    "Documents": [        {            "ForProductsText": "6ES7288-2DR32-0AA0, 6ES7288-2DT16-0AA0,...",            "ShowMoreProductsLink": true,            "HasReleaseVersions": false,            "Level1Id": "gen_1318291",            "Output": "",            "HasAttachment": true,            "HasAttachmentsHits": true,            "HasHint": false,            "MlfbDruckForm": null,            "PdfLink": "/cs/attachments/109745610/s7-200_SMART_system_manual_zh-CHS.pdf",            "AvailableLanguages": [                {                    "LanguageTitle": "en",                    "DocumentTitle": "S7-200 SMART System manual "                },                {                    "LanguageTitle": "zh",                    "DocumentTitle": "S7-200 SMART 系统手册 "                }            ],            "SlkNavigationNodeId": null,            "BusinessUnitId": 4224,            "Url": null,            "Id": 1318292,            "Title": "S7-200 SMART 系统手册",            "Description": "系统手册",            "Type": "Manual",            "Network": "Intranet, Internet",            "DocumentDate": "2021-07-15T00:00:00",            "DocumentActuality": "None",            "Rating": 4.540984,            "RatingCount": 122,            "LocaleGroupId": 109745610,            "LanguageId": 6,            "IsSipsManual": false,            "SipsSummary": ""        }        }


    2.4 转化完成后即可提取下载链接并保存文件,代码如下:















  •       for k in range(len(data['Documents'])):            if 'PdfLink' in data['Documents'][k] and data['Documents'][k]["DocumentDate"].startswith('202'):                title = FileName(data['Documents'][k]['Title'])                link = data['Documents'][k]['PdfLink']                donwloadlink = host+link                if os.path.exists(path+f"/{title}.pdf"):                    print(f"{title}.pdf 已经存在")                    continue                res = session.get(donwloadlink)                with open(path+f"/{title}.pdf", 'wb') as f1, open(path+"/"+FileName(f"{payload['$search']} {payload['documentType']} link.txt"), 'a') as f2:                    f1.write(res.content)                    f2.writelines(f"文件名:{title}; 链接地址:{donwloadlink}"+'\n')                print(f"标题:{title},链接: {link}")


    至此程序完成,本程序jinxian于测试,正常需要多次运行减少bug;



    关于广东湘恒智能科技有限公司商铺首页 | 更多产品 | 更多新闻 | 联系方式 | 黄页介绍
    主要经营:西门子PLC,西门子模块,西门子触摸屏,西门子变频器,西门子伺服电机驱动,电缆,西门子全系列

    广东湘恒智能科技有限公司主要从事工业自动化产品的集成,销售与维修。致力于为您提供在机械、化工、水泥、电力、环保等领域的电气及自动化技术的完整解决方案,包括自动化产品及系统、工程项目执行及管理、主要过程控制领域技术支持,以及专业的售后服务、培训等。

    公司本着“以人矢志创新、追求卓越”的工作方针,致力于工业自动化控制领域的产品开发、工程配套和系统集成、销售,拥有丰富的自动为本、科技先导、化产品的应用和实践经验以及雄厚的技术力量,尤其以 PLC复杂控制系统、传动技术应用、伺服控制系统、数控备品备件、人机界面及网络/软件应用为公司的技术特长,

    多年来,广东湘恒智 ...

    内容声明:顺企网为第三方交易平台及互联网信息服务提供者,顺企网所展示的信息内容系由广东湘恒智能科技有限公司经营者发布,其真实性、准确性和合法性均由店铺经营者负责。顺企网提醒您购买前注意谨慎核实,如您对信息有任何疑问的,请在购买前通过电话与商家沟通确认顺企网存在海量企业商铺和供求信息,如您发现店铺内有任何违法/侵权信息,请立即向顺企网举报并提供有效线索。
    您可能喜欢
    顺企网 | 公司 | 黄页 | 产品 | 采购 | 资讯 | 免费注册 轻松建站
    免责声明:本站信息由广东湘恒智能科技有限公司自行发布,交易请核实资质,谨防诈骗,如有侵权请联系我们   法律声明  联系顺企网
    ICP备案: 粤B2-20160116 / 粤ICP备12079258号 / 互联网药品信息服务资格证:(粤)-经营性-2016-0009 / 粤公网安备 44030702000007号
    © 11467.com 顺企网版权所有 发布批发采购信息、查询企业黄页,上顺企网