下面描述的这个简单的扫描仪旨在找到显示雅虎财务当天股票百分比变化的标签。当我检查网页的源代码时,我可以很容易地确定只有一个span标签,其类别与我在下面所写的相同。如果价格上涨,标签类会读取$ dataGreen,如果价格下跌,则会读取$ dataRed。
我在这个网页上的许多其他地方使用迭代器,所有格式都完全相同,并且功能正常。但由于某种原因,这里没有任何调整会给我一个结果。就好像无法检测到这个标签。
我不知道为什么ctrl+f
可以找到此标记,但.find_all()
您可以给予我任何指导,我将不胜感激。这是我的代码。
import bs4 as bs
from urllib.request import urlopen
import urllib.request, urllib.error
url = str('https://finance.yahoo.com/quote/ABEO?p=ABEO')
source = urllib.request.urlopen(url, timeout=30).read()
soup = bs.BeautifulSoup(source,'lxml')
for row in soup.find('span',{"class":"Trsdu(0.3s) Fw(500) Pstart(10px) Fz(24px) C($dataGreen)"}):
print (1)
for row in soup.find('span',{"class":"Trsdu(0.3s) Fw(500) Pstart(10px) Fz(24px) C($dataRed)"}):
print (2)
编辑:
我已将源保存到.txt并将其倾注到标签中,但我也无法使用ctrl+f
检测到它。当我将.txt中找到的内容与我从网页上提取的内容进行比较时,它会有所不同。我的问题似乎已经解决了,但我希望有人能解释为什么会这样有效。
Trsdu(0.3s) Fw(500) Fz(14px) C($dataRed)