[大阪/横滨/德岛] 寻找基础设施/服务器端工程师!

[大阪/横滨/德岛] 寻找基础设施/服务器端工程师!

【超过500家企业部署】AWS搭建、运维、监控服务

【超过500家企业部署】AWS搭建、运维、监控服务

【CentOS的后继者】AlmaLinux OS服务器搭建/迁移服务

【CentOS的后继者】AlmaLinux OS服务器搭建/迁移服务

[仅适用于 WordPress] 云服务器“Web Speed”

[仅适用于 WordPress] 云服务器“Web Speed”

[便宜]网站安全自动诊断“快速扫描仪”

[便宜]网站安全自动诊断“快速扫描仪”

[预约系统开发] EDISONE定制开发服务

[预约系统开发] EDISONE定制开发服务

[注册100个URL 0日元] 网站监控服务“Appmill”

[注册100个URL 0日元] 网站监控服务“Appmill”

【兼容200多个国家】全球eSIM“超越SIM”

【兼容200多个国家】全球eSIM“超越SIM”

[如果您在中国旅行、出差或驻扎]中国SIM服务“Choco SIM”

[如果您在中国旅行、出差或驻扎]中国SIM服务“Choco SIM”

【全球专属服务】Beyond北美及中国MSP

【全球专属服务】Beyond北美及中国MSP

[YouTube]超越官方频道“美由丸频道”

[YouTube]超越官方频道“美由丸频道”

【抓取入门】用Python获取站点上的表数据

很高兴见到你。
系统解决方案部门太可爱了,对卡比探索上瘾了!

虽然天气已经很热了,但已经是春天了。即使在上班的路上,我也经常看到人们穿着像新员工(超越遗忘)。
这次我要写一篇关于Python抓取的文章,对新员工的工作(可能)有点用处。

什么是刮痧?

数据分析近年来备受关注,抓取也是一项基础技术,主要是从网站获取所需数据的方法。
“刮”字原本有“刮起”的意思,似乎就是由此而来。

在本文中,我们将使用编程语言Python来自动检索页面内的表格信息。

准备

如果未安装Python,从
下载并安装适合您操作系统的软件包 https://www.python.org/downloads/

安装我们这次将使用的库“ BeautifulSoup4 ”和“ html.parser

本文假设Windows环境,因此使用搜索窗口或按[CTRL]+[R]键→输入[cmd]→打开命令提示符并执行以下命令。执行以下命令开始安装。

pip 安装 bs4 html.parser

这次,我想尝试从下面的Microsoft页面自动获取Office 365中使用的域和IP地址等信息,然后将其导出到csv文件(如果您尝试手动检索,会很麻烦)。

“Office 365 URL 和 IP 地址范围”>“Microsoft 365 Common 和 Office Online”
https://docs.microsoft.com/ja-jp/microsoft-365/enterprise/urls-and-ip-address-ranges?view= o365-全球

运行环境及完整代码

使用的操作系统:Microsoft Windows 10 Pro
Python版本:3.10

从 bs4 导入 BeautifulSoup 从 html.parser 导入 HTMLParser 从 urllib.request 导入 csv 导入 urlopen headers = {"User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:61.0) Gecko/20100101 Firefox/61.0"} html = urlopen("https://docs.microsoft.com/ja-jp/microsoft-365/enterprise/urls-and-ip-address-ranges?view=o365-worldwide") bsObj = BeautifulSoup(html, "html.解析器") table = bsObj.findAll("table")[4] rows = table.findAll("tr") with open(r"C:\Users\python\Desktop\python\2022\microsoft.csv", " w",encoding="cp932", newline="") 作为文件:writer = csv.writer(file) 对于行中的行:csvRow = [] 对于 row.findAll(["td", "th"] 中的单元格): csvRow.append(cell.get_text()) writer.writerow(csvRow)

代码解释

从 bs4 导入 BeautifulSoup 从 html.parser 导入 HTMLParser 导入 csv 从 urllib.request 导入 urlopen

→ 导入每个库。

headers = {"User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:61.0) Gecko/20100101 Firefox/61.0"} html = urlopen("https://docs.microsoft.com/ja-jp/ microsoft-365/enterprise/urls-and-ip-address-ranges?view=o365-worldwide") bsObj = BeautifulSoup(html, "html.parser")

→ 添加用户代理信息(在本例中为 Firefox)。
这里声明指定要用urlopen打开的页面,用BeautifulSoup读取。

表 = bsObj.findAll("table")[4] 行 = table.findAll("tr")

→ 指定 [4] 作为此 HTML 结构中的第四个表(使用每个浏览器的 Web 开发人员工具)。另外,使用 findAll 查找“tr”标签。

打开(r“C:\ Users \ python \ Desktop \ python \ 2022 \ microsoft.csv”,“w”,encoding =“cp932”,newline =“”)作为文件:writer = csv.writer(文件)行中的行: csvRow = [] for row.findAll(["td", "th"]) 中的单元格: csvRow.append(cell.get_text()) writer.writerow(csvRow)

→ 以任意路径和文件名指定字符代码等(如果文件不存在,则在指定路径中创建)。

可以用“w”写入,并用“newline="”获得的信息每列换行写入。
在上列指定的行(tr标签)中搜索td和th,循环获取该列的值并将其写入csv文件。

输出结果

这就是发生的事情。这次我们只会使用几条信息,但是您获得的信息越多,效率就会越高。

如果再有一次机会,我想写一篇对某人有用的文章。再见

如果您觉得这篇文章有帮助,请点赞!
7
加载中...
7 票,平均:1.00 / 17
10,221
X Facebook 哈特纳书签 口袋
[2025.6.30 Amazon Linux 2 支持结束] Amazon Linux 服务器迁移解决方案

[2025.6.30 Amazon Linux 2 支持结束] Amazon Linux 服务器迁移解决方案

写这篇文章的人

关于作者

川健

属于系统解决方案部的
好奇的 Poke○n