使用 Excel 和 Python 从互联网获取数据

网站建设4年前发布
38 0 0

今天的文章主要分为两个部分,一是用通过Python构建一个数据网站​,二是分别使用Excel和Python从编写的Web网站上获取数据。,通过Python Flask Web框架分别构建一个Web网站和一个Web API服务。,新建一个名为“5-5-WebTable.py”的Python脚本,创建一个包含表格的简单网页。如果读者对构建方法不感兴趣,可跳过以下代码,直接执行脚本“5-5-WebTable.py”打开网站。,(1)安装flask包。,(2)构建包含表格的网页。,通过命令“python ./5-5-WebTable.py”启动网站,然后在浏览器中输入http://127.0.0.1:5000/,出现如图1所示的网页内容。,20230306013311d21d35154941d8335cc471577e75f7b559260f927,图1  使用Flask构建的测试网站,新建一个名为“5-5-WebAPI.py”的Python脚本,使用flask_restplus包构建Web API服务。如果读者对构建方法不感兴趣,可跳过以下代码,直接执行脚本“5-5-WebAPI.py”打开Web API服务。,(1)安装flask_restplus包。,(2)导入必要的库与初始化应用对象。,(3)Web API数据操作类,包含增、删、改、查等方法。,(4)构建Web API的路由映射。,HTTP资源请求类从Resource类继承,然后映射到不同的路由,同时指定可使用HTTP方法。,(4)开启Web API服务。,通过命令“python ./5-5-WebAPI.py”启动Web API服务,在浏览器中输入“http://127.0.0.1:8000/”将出现如图5-23所示的Web API服务请求方法列表。,2023030601331189443c587c4cd0ddf9310944ef5b6ccb5fd437693,图2  WebAPI服务请求方法列表,Excel可以通过“数据”选项卡下的“自网站”功能抓取网页数据。Python可以使用 requests 库、Beautiful Soup包、Scrapy框架抓取网页数据。,单击“数据”→“自其他源”→“自网站”功能。Excel可读取的网页数据有局限:动态网页数据无法自动识别,非表格数据无法自动识别。,(1)单击“数据”→“自其他源”→“自网站”功能。,(2)确保在5.5.1节中编写的Web网站已经开启。,(3)输入网站URL地址“http://127.0.0.1:5000/”,单击“高级”按钮可配置更详细的HTTP请求信息,然后单击“确定”按钮,如图3所示。,20230306095446c45c69866f9b4837a9774545ea76e93a7e64f5307,图3  配置要读取网站的URL,(4)在“导航器”窗口中选择导入数据。,如图4所示,Excel自动识别网页中的表格数据,选择表名后单击“加载”按钮即可。,20230306013312c3e964152ed2fef9bba776d589e7506020f51e864,图4  Excel自动识别网页中的表格数据,下面演示使用requests库抓取整个网页中的数据,然后使用Beautiful Soup解析网页。读者可参考本书代码素材文件“5-5-web.ipynb”进行学习。,(1)通过requests读取网页数据。,(2)通过Beautiful Soup解析网页。,Excel可以通过“数据”选项卡下的“自网站”功能调用Web API服务。Python可以使用 requests 库、Beautiful Soup包、Scrapy框架调用Web API获取数据。,(1)确保5.5.1节中编写的Web API服务已经开启。,(2)输入Web API方法对应的URL:http://127.0.0.1:8000/ExcelPythonTest/。,(3)处理返回的数据。,调用Web API服务后数据以JSON格式返回,按照5.4.3小节中介绍的方法处理JSON数据。,使用requests库调用Web API方法,然后对返回的JSON数据进行处理,读者可参考本书代码素材文件“5-5-api.ipynb”进行学习。,表1所示为Excel和Python抓取互联网数据方法的对比。需要注意Excel从互联网抓取数据的功能并不完善。,表1   Excel和Python抓取互联网数据方法对比,202303060133131670ae8827c6a2dcdc8367171bb636ff970a7e952

© 版权声明

相关文章