все. У меня есть быстрый вопрос о BeautifulSoup с Python. У меня есть несколько фрагментов HTML, которые выглядят следующим образом (единственными отличиями являются ссылки и названия продуктов), и я пытаюсь получить ссылку из атрибута "href".
<div id="productListing1" xmlns:dew="urn:Microsoft.Search.Response.Document">
<span id="rank" style="display:none;">94.36</span>
<div class="productPhoto">
<img src="/assets/images/ocpimages/87684/00131cl.gif" height="82" width="82" />
</div>
<div class="productName">
<a class="on" href="/Products/ProductInfoDisplay.aspx?SiteId=1&Product=8768400131">CAPRI SUN - JUICE DRINK - COOLERS VARIETY PACK 6 OZ</a>
</div>
<div class="size">40 CT</div>
У меня сейчас есть этот код Python:
productLinks = soup.findAll('a', attrs={'class' : 'on'})
for link in productLinks:
print link['href']
Это работает (для каждой ссылки на странице я получаю что-то вроде /Products/ProductInfoDisplay.aspx?SiteId=1&Product=8768400131
); Тем не менее, я пытался выяснить, есть ли способ получить ссылку в атрибуте "href" без явного поиска "class =" on "". Я думаю, мой первый вопрос должен быть о том, является ли это лучшим способом найти эту информацию (class = "on" кажется слишком общим и может сломаться в будущем, хотя мои навыки CSS и HTML не так уж хороши). Я пробовал многочисленные комбинации методов find, findAll, findAllnext и т. Д., Но не могу заставить его работать. Это в основном то, что у меня было (я переставлял и менял это много раз):
productLinks = soup.find('div', attrs={'class' : 'productName'}).find('a', href=True)
Если это не очень хороший способ сделать это, как я могу получить тег <a>
из тега <div class="productName">
? Дайте мне знать, если вам нужна дополнительная информация.
Спасибо.