使用美丽的汤解析跨度类中的文本

时间:2021-05-25 04:37:07

标签: python-3.x web-scraping beautifulsoup

我正在用美丽的汤试图从雅虎财经中获得晨星评级。我有下面的跨度类被退回。任何人都可以建议如何将“★★★★★”作为下面汤中的字符串返回?

网址:

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>

输出:

★★★★★

1 个答案:

答案 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)
相关问题