[英]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.