我正在用美丽的汤试图从雅虎财经中获得晨星评级。我有下面的跨度类被退回。任何人都可以建议如何将“★★★★★”作为下面汤中的字符串返回?
网址:
https://finance.yahoo.com/quote/RFKTX?p=RFKTX
输入:
<td class="Ta(end) Fw(600) Lh(14px)" data-test="MORNING_STAR_RATING-value"><span class="D(ib)">★★★★★</span><span class="D(ib) C($c-fuji-grey-d)"></span></td>
输出:
★★★★★
答案 0 :(得分:2)
应该这样做:
import requests
from bs4 import BeautifulSoup
link = 'https://finance.yahoo.com/quote/RFKTX?p=RFKTX'
with requests.Session() as s:
s.headers['User-Agent'] = 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.150 Safari/537.36'
res = s.get(link)
soup = BeautifulSoup(res.text,"html.parser")
rating = soup.select_one("td[data-test='MORNING_STAR_RATING-value'] > span").text
print(rating)