用逗号查找所有数字的位置

Find Location of All Numbers with a Comma

我一直在抓取一些 HTML 页面,试图提取一些更新的财务数据。我只关心有逗号的数字,例如 100,000 或 12,000,000,而不是 450。目标只是找到字符串中逗号分隔数字的位置,然后我需要提取它们所在的整个句子。

我将整个刮擦移动到一个字符串列表,在该列表中我想提取所有带逗号的数字。

url = 'https://www.sec.gov/Archives/edgar/data/354950/000035495020000024/hd-2020proxystatement.htm'
r = requests.get(url)  
soup = BeautifulSoup(r.content)
text = soup.find_all(text = True)
strings = []
for i in range(len(text)):
        text_s = str(proxy_text[i])
        strings.append(text)

我考虑过以下重新代码,但我不确定它是否会提取所有实例。即在列表中可能有多个数字实例,用逗号分隔。

number  = re.sub('[^>0-9,]', "", text)

任何想法都会有很大的帮助!谢谢

如果你只是想检查一个数字是否有逗号,如果有你想提取它,那么你可以尝试以下方法。

new = []
for i in text:
    if ',' in i:
        new.append(i)

这将追加 'text' 集合中包含逗号的所有元素,即使完全相同的元素重复多次也是如此。

您可以使用:

from bs4 import BeautifulSoup
import requests, re

url = 'https://www.sec.gov/Archives/edgar/data/354950/000035495020000024/hd-2020proxystatement.htm'
soup = BeautifulSoup(requests.get(url).text, "html5lib")
for el in soup.find_all(True): # loop all element in page
    if re.search(r"(?=\d+,\d+).*", el.text):
        print(el.text)
        # print("END OF ELEMENT\n") # debug only