发布于 2026-01-06 3 阅读
0

将 Web 数据导入 Python 将 Web 数据导入 Python DEV 的全球展示挑战赛,由 Mux 呈现:展示你的项目!

将网络数据导入 Python

将网络数据导入 Python

由 Mux 赞助的 DEV 全球展示挑战赛:展示你的项目!

将网络数据导入 Python

在你的数据科学家职业生涯中,你会发现自己经常需要处理数据。有时这些数据唾手可得,而有时则需要你自己去寻找和收集数据。

您的数据可以从各种来源收集,但通常情况下,您会从网络上获取这些数据。

现在假设你发现了一个网站,上面有海量数据,你觉得这些数据非常有用。可惜的是,你无法将网站上的内容下载到你的设备上进行分析。

手动从网站收集数据会耗费大量时间。幸运的是,您可以使用一些 Python 包轻松导入这些数据。

使用 urlretrieve 导入数据

  1. urlretrieve从子包导入函数urllib.request。from urllib.request import urlretrieve
  2. 将网站的网址赋值给一个变量——这里以“url”为例。

            ```url = 'https://google.com'```
    
  3. 使用此函数urlretrieve将此文件保存到本地。向该函数传递两个参数——网站的 URL(已分配给变量“url”)和您希望保存文件的名称。

            ```urlretrieve(url, 'file.txt')```
    
  4. 数据现在以文件的形式保存在您的设备上,您可以根据需要进行管理和处理。

使用 urlopen 和 Request 导入数据

要完全理解其工作原理,您需要对 HTTP 请求有一定的了解。不过不用担心,即使您不了解请求,也可以按照以下步骤从网络导入数据。

  1. urlopenRequest子包中导入函数urllib.request

            ```from urllib.request import urlopen, Request```
    
  2. 请指定网址。

            ```url = 'https://google.com'```
    
  3. Request通过调用URL来打包请求。

            ```request = Request(url)```
    
  4. 发送请求并接收响应。

            ```response = urlopen(request)```
    
  5. 您的请求返回的是一个对象。要提取 HTML 内容,请调用该响应对象的 read 方法。

            ```response = response.read()```
    
  6. 然后,您可以打印、整理和管理网页内容。

            ```print(response)```
    

导入数据请求

接下来,强大的requests软件包就派上用场了。它提供了一种更简便、更推荐的方式来执行与urllib上述相同的导入操作。

  1. 导入请求包。

            ```import requests```
    
  2. 请指定网址。

            ```url = 'https://google.com'```
    
  3. 对 URL 调用 requests 的 GET 方法。这会打包请求、发送请求并捕获响应。所有操作只需一条命令即可完成。是不是很酷?

            ```request = requests.get(url)```
    
  4. 响应是一个 HTTP 对象。要访问响应的内容,请调用该对象的 text 属性。

            ```print(request.text)```
    

请注意,您还可以使用上述软件包执行其他一些操作,例如与 API 交互。但是,就本文而言,我们仅关注如何使用它们从网页导入数据。

太棒了!现在你可以用 Python 轻松地从网络导入数据了。
不过,导入的数据是 HTML 内容,包含 HTML 标签和其他 HTML 属性。因此,它们还不能直接使用或分析。

要使它们可以正常使用,您需要使用名为 BeautifulSoup 的包对它们进行格式化。这将在后续文章中讨论。

在此之前,继续使用这些软件包导入数据,并用 Python 创造奇迹吧。

文章来源:https://dev.to/olayinkaatobiloye/importing-data-from-the-web-into-python-3h0n