python - 从 Python 中的 HTML 页面中获取表格的前几行
问题描述
我正在通过 python 向该网站发出 GET 请求。
https://www.nhc.noaa.gov/gis/forecast/archive/?C=M;O=D
但是,它通过以下python代码下载了一个带有巨大表格的HTML页面
import requests
url = 'https://www.nhc.noaa.gov/gis/forecast/archive/?C=M;O=D'
r = requests.get(input_url_path)
url_list = r.text
这需要大量的时间和空间。
有没有办法下载此页面上表格的前 N 行?
解决方案
使用流式传输,并设置您的块大小以获取您想要返回的任何数据。您可以遍历这些块,直到获得所需数量的链接。根据块的大小,它可能会增加一些,但它会让你非常接近。
import requests
import re
n_rows = 100
url = 'https://www.nhc.noaa.gov/gis/forecast/archive/?C=M;O=D'
r = requests.get(url, stream=True)
links = []
with requests.get(url, stream=True) as r:
for chunk in r.iter_content(chunk_size=500000):
links.extend(re.findall(r'href="([^?\/].*?)"',str(x)))
if len(links) >= n_rows:
break
推荐阅读
- azure-machine-learning-service - “MSSQL”在打开连接时遇到了“InvalidOperationException”类型的意外异常,HResult 为“x80131509”
- angular - 如何在 Angular 中创建一个公共子组件
- postgresql - 未显示 Postgres 导入的表,手动创建时出现“已存在”错误
- html - 如何在html输入中只允许罗马数字字符?
- angular - 出现控制台错误:没有当前规范时使用了“期望”,这可能是因为异步测试超时?
- javascript - Google PageSpeed Insights 显示未使用的 javascript 但已使用
- python - 关于 manim 和 png 图像的新手问题
- firebase - GAE3 Python 和验证 Firebase 令牌服务器端(我们是否需要每次都调用 Firebase?)
- kubernetes - Istio 1.6 中弃用了控制标头和路由
- postgresql - 插入数据库时如何忽略嵌入式结构字段?