美化组未提取图像alt-tex

2024-10-06 12:07:02 发布

您现在位置:Python中文网/ 问答频道 /正文

我正处于创建网页刮板的初步阶段。我对Python还是个新手。我想从一个网页上提取星级。这意味着查找页面中所有img alt文本的列表并将其打印到控制台。在

url = 'https://www.nhtsa.gov/vehicle/2017/FORD/ESCAPE/SUV/AWD#safety-ratings-frontal' #url to retrieve data from
html = '<div class="col-sm-6"><img src="/sites/nhtsa.dot.gov/themes/nhtsa_gov/images/star-rating/5.png" alt="5 star" class="vehicle-base-details--rating"></div>' #temporary-- for testing
page = urlopen(url)
soup = BeautifulSoup(page, "html.parser")
for div in soup.find_all('div'): #lists all image alt text
    for img in div.find_all('img', alt=True):
        print(img['alt'])

当我在第4行用“html”替换“page”时,beauthoulsoup能够提取我需要的内容并打印“5星”。问题是当我试图直接从网页获取HTML时。我也尝试过按对象的类进行搜索,但是当我直接从网站上获得它时,结果只是一个空列表。在


Tags: divurl网页列表imgforhtmlpage
1条回答
网友
1楼 · 发布于 2024-10-06 12:07:02
from bs4 import BeautifulSoup
import requests

s = requests.Session()
url = 'https://www.nhtsa.gov/vehicle/2017/FORD/ESCAPE/SUV/AWD#safety-ratings-frontal' #url to retrieve data from
page = s.get(url).text

soup = BeautifulSoup(page, "html.parser")
for div in soup.find_all('div'): #lists all image alt text
    for img in div.find_all('img', alt=True):
        print(img['alt'])

相关问题 更多 >