![](/img/trans.png)
[英]Web Scraping: Correct content is not being returned using BeautifulSoup(page.content,'html.parser')
[英]Unable to extract the contents of a web page using Beautifulsoup with html.parser
我正在尝试使用 Python 脚本从 Fidelity Investments 抓取页面。 我对 Beautifulsoup 有一个问题,经过多次尝试后我无法解决。
我的代码:
soup = BeautifulSoup(driver.page_source,"html.parser")
newResult = soup.find_all("span", class_="account-selector--tab-row account-selector--account-balance js-acct-balance ")
print(newResult)
try:
print(newResult.contents)
except:
print("Failed newResult.contents")
我得到的结果:
[<span class="account-selector--tab-row account-selector--account-balance js-acct-balance ">
$3,980.00</span>]
Failed newResult.contents
我的问题:
如何将$3,980.00
放入字符串变量/对象。
我尝试了很多方法,但未能从newResult
中提取任何内容。 例如,我尝试在 try 块中打印newResult.text
、 newResult.string.strip()
、 newResult.getText
、 newResult.get_text
、 newResult.contents
、 newResult.stripped_strings
。 所有这些都导致从 except 块执行代码。
请注意, newResult
包含一个换行符和几个不可见的制表符。 我不知道这是否有区别。 任何帮助将不胜感激,因为我无能为力。
soup.find_all()
创建与您的选择匹配的span
元素列表,您无法直接访问内容。
选项#1 - 遍历你的newResult
以获取每个span
的文本:
soup = BeautifulSoup(driver.page_source,"html.parser")
newResult = soup.find_all("span", class_="account-selector--tab-row account-selector--account-balance js-acct-balance ")
print(newResult)
for item in newResult:
try:
print(item.get_text(strip=True))
except:
print("Failed item.get_text(strip=True)")
选项#2 - 如果它只是您想要获取的一个元素,请使用find()
而不是find_all()
:
soup = BeautifulSoup(driver.page_source,"html.parser")
newResult = soup.find("span", class_="account-selector--tab-row account-selector--account-balance js-acct-balance ")
print(newResult)
try:
print(newResult.get_text(strip=True))
except:
print("Failed item.get_text(strip=True)")
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.