Python and BeautifulSoup4's BS4's Decompose Method To Remove Unwanted Inner Tags

<div class="c-shca-icon-item__body-name">

    < a href="/Products/MX72244">
        < span class="c-shca-icon-item__body-name-brand">

            ADATA
            < / span>
                XPG SX8200 PCI - E 3.0 x4 M .2 NVMe SSD, 480 GB
                < / a>


The problem in the html above is that there is a "span" inside the "a" and this is unusual except for a few products with ADATA.
Otherwise it would print out ADATA with the other product information "XPG SX8200 PCI - E 3.0 x4 M .2 NVMe SSD, 480 GB".  So we just want the product info and not the ADATA inside span.

The solution is to use beautifulsoup's "decompose method below".



    hddname = prices.find("div", {"class": "c-shca-icon-item__body-name"})
    hddname=hddname.find("a")
    hddname.span.decompose()
    hddname=hddname.get_text().strip()

 

Once we have the "a" tag contents which contain a "span inside".  We just use the decompose() method.

The format is as follows

soupname.tagname.decompose()


Tags:

python, beautifulsoup, bs, decompose, method, unwanted, tags, div, quot, shca, icon, item__body, href, products, mx, span, adata, xpg, sx, pci, nvme, ssd, gb, html, info, hddname, prices, get_text, contents, contain, format, follows, soupname, tagname,

Latest Articles

  • RTL8821AU Setup Configure Wifi Realtek 8821 in Linux Debian Mint Ubuntu Howto
  • How To Tell Which Repository a Package Comes From Debian Mint Ubuntu
  • How To Reload All Kernel Modules And List Required Moduels for Each Device - Linux Mint Debian Ubuntu Troubleshooting
  • Debian Ubuntu Mint How To Change Default Display Manager
  • Ubuntu Mint Debian Howto Execute Command / Script / Program Upon Wakeup From Sleep
  • Linux Debian Mint Ubuntu How To Add Non-Free Repositories and Contrib
  • Debian Ubuntu Mint DHCP dhclient quits and how to make it persistent if first attempt to get DHCP lease fails
  • ssh Too many authentication failures not prompting for password
  • LightDM Mint Ubuntu Debian won't start errors Nvidia Graphics
  • WARNING: Unable to determine the path to install the libglvnd EGL vendor library config files. Check that you have pkg-config and the libglvnd development libraries installed, or specify a path with --glvnd-egl-config-path. Linux Ubuntu Mint Debian E
  • How To Upgrade Linux Mint 18.2 to 18.3 to 19.x and 20.x
  • MP3s Won't Play / ID3 Version 2.4 Issues in Cars and Other MP3 Players/CDs/DVDs Solution
  • LXC Containers LXD How to Install and Configure Tutorial Ubuntu Debian Mint
  • GlusterFS HowTo Tutorial For Distributed Storage in Docker, Kubernetes, LXC, KVM, Proxmox
  • Ubuntu Mint audio output not working pulseaudio "pulseaudio[13710]: [pulseaudio] sink-input.c: Failed to create sink input: too many inputs per sink."
  • How To Shrink Dynamically Allocated VM QEMU KVM VMware Disk Image File
  • How To Enable Linux Swapfile Instead of Partition Ubuntu Mint Debian Centos
  • 404 Not Found [IP: 151.101.194.132 80] apt update Debian 11 Bullseye Solution The repository 'http://security.debian.org bullseye/updates Release' does not have a Release file.
  • WARNING: Can't download daily.cvd from db.local.clamav.net freshclam clamav error solution
  • (firefox:9562): LIBDBUSMENU-GLIB-WARNING **: Unable to get session bus: Failed to execute child process "dbus-launch" (No such file or directory) Solution