簡體   English   中英

從 Python 中的 HTML 頁面獲取表的前幾行

[英]Fetch first few rows of a table from a HTML page in Python

我正在通過 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 行?

使用流式傳輸,並設置您的塊大小以獲取您想要返回的任何數據。 您可以遍歷這些塊,直到獲得所需數量的鏈接。 根據塊的大小,它可能會 go 超過一些,但它會讓你非常接近。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM