【发布时间】:2020-02-21 21:29:16
【问题描述】:
我正在尝试使用 BeautifulSoup 抓取筹款信息,但在尝试隔离诸如为筹款目标筹集的金额等元素时遇到了麻烦。
这是目前为止的代码:
from bs4 import BeautifulSoup
import numpy as np
import pandas as pd
from time import sleep
import requests
import re
import json
page = requests.get("https://www.gofundme.com/f/eric-stevens-care-trust")
soup = BeautifulSoup(page.text, 'lxml')
Amount_raised = soup.find_all('h2', class_='m-progress-meter-heading')[0].get_text()
代码有效,但是当我查看结果时,它看起来像这样:
print(Amount_raised)
882,521 $ raised of 1,000,000 $ goal
理想情况下,我希望只返回数字“882,521”,或者更好的是,将它们解析为两个变量,一个是筹集的金额,另一个是筹款目标。
我觉得应该有一种方法可以指定我想要的元素,或者使用正则表达式来隔离它,但是我的搜索没有成果,而且我对 python 还很陌生。
编辑:这是我尝试使用的 HTML 部分
<h2 class="m-progress-meter-heading">882,521 $<!-- --> <span class="text-stat text-stat-title">raised of 1,000,000 $ goal</span>
【问题讨论】:
-
Amount_raised.split(" ")[0]
标签: python html beautifulsoup