You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python Requests库抓取GasBuddy站点的Regular汽油价格?

如何用Python Requests抓取GasBuddy的普通汽油价格

首先先修正你代码里的一个小错误:req.content是属性而非可调用方法,写成req.content()会触发报错,应该改成req.content或者用req.text(后者更适合后续HTML解析)。

你不需要在GET请求里加关键词查询——页面的价格数据直接包含在返回的HTML内容里,你要做的是解析HTML来提取目标价格。这里推荐用BeautifulSoup库处理HTML解析,步骤如下:

1. 安装依赖

先安装BeautifulSoup工具库:

pip install beautifulsoup4

2. 修改代码提取价格

先打开目标页面,按F12启动浏览器开发者工具,找到"Regular"价格对应的HTML元素。比如查看该页面后,普通汽油价格在带有StationDisplayPrice-module__price___3rARL类的span标签内,我们可以用这个类定位元素。

修改后的完整代码:

import requests
from bs4 import BeautifulSoup

test_URL = "https://www.gasbuddy.com/station/194205"

def get_data(link):
    hdr = {'user-agent': 'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.107 Mobile Safari/537.36'}
    req = requests.get(link, headers=hdr)
    # 将HTML文本转为可解析对象
    soup = BeautifulSoup(req.text, 'html.parser')
    # 定位普通汽油价格的元素
    regular_price_tag = soup.find('span', class_='StationDisplayPrice-module__price___3rARL')
    if regular_price_tag:
        # 提取价格文本并转为数值格式
        regular_price = float(regular_price_tag.text.strip())
        print(f"普通汽油价格: ${regular_price}")
    else:
        print("未找到普通汽油价格对应的元素")

get_data(test_URL)

关键说明

  • BeautifulSoup(req.text, 'html.parser'):把返回的HTML文本转换成可遍历解析的对象
  • soup.find():根据标签名和class属性定位目标元素,若网站后续更新了页面结构,需要重新在开发者工具里查看最新的元素标识并调整参数
  • 用strip()去除价格文本的多余空格,转成float类型方便后续计算或存储

内容的提问来源于stack exchange,提问作者bobthebuilder

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 17:20:49