首页 > 解决方案 > Python解析出BeautifulSoup findAll信息

问题描述

我一直在尝试修复这个网络爬虫,但仍然无法找出如何从 findAll 函数中解析出信息。我现在正在尝试在纳斯达克网上搜索,纳斯达克上的每只股票都有一张股票信息表。表格的第一部分,文本部分,在我的 python 上完美呈现。但是,当我尝试获取表格数字一侧的信息时,我得到了:'\r\n 120\r\n'。号码在那里,但我不知道如何将它与其他信息分开。如果您有兴趣,这是我的其余代码。

from urllib.request import urlopen as ureq
from bs4 import BeautifulSoup as soup

my_url = 'https://www.nasdaq.com/symbol/msft'
uClient = ureq(my_url)

page_html = uClient.read()
uClient.close()
page_soup = soup(page_html, "html.parser")
containers = page_soup.findAll("div",{"class":"table-cell"})
bidask = containers[8]
bidasktitle = bidask.b.text

bidaskvalue = containers[9]
bidaskvaluetitle = bidaskvalue.text

yeartarget = containers[10]
yeartargettitle = yeartarget.b.text

yeartargetvalue = containers[11]
yeartargetvaluetitle = yeartargetvalue.text

标签: python

解决方案


利用正则表达式从字符串中过滤掉数字。

preg_replace('/[^0-9]/', '', $string);

推荐阅读