用逗号查找所有数字的位置
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
我一直在抓取一些 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