css - Beautiful Soup 无法区分 CSS 类

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

我正试图从这个 page 中删除 Href .

有两种类型的产品。突出显示的那些和未突出显示的那些。我想要后者。 与这些产品关联的 CSS 类不相同。这就是我尝试使用它们的原因。

我只是在这里尝试输出 li我暂时感兴趣。

from bs4 import BeautifulSoup
import urllib.request
from collections import *
from statistics import mean

list_url=[]

url = 'http://m.zooplus.co.uk/shop/pet_food/royal_canin_food/rc_size_dog'
response = urllib.request.urlopen(url)
html = response.read()
soup = BeautifulSoup(html,"html.parser")

product_list = soup.find_all("li", {"class":"list-item"})
for elem in product_list:
    print("////////////////BEGIN//////////")
    print(elem)
    print("///////////////END/////////////")

输出:

<li class="list-item highlighted">

那是我不想要的那种产品。

还有:

<li class="list-item ">

这就是我想要的产品。

<li class="list-item ">上有漂亮的汤一样的外观和一个 <li class="list-item highlighted">

我错过了什么?

为瑜珈编辑:

from bs4 import BeautifulSoup
import urllib.request
from collections import *
from statistics import mean

list_url=[]

url = 'http://m.zooplus.co.uk/shop/pet_food/royal_canin_food/rc_size_dog'
response = urllib.request.urlopen(url)
html = response.read()
soup = BeautifulSoup(html,"html.parser")
product_list = soup.find_all("li", {"class":"list-item","id": lambda L: L !="special"})
for elem in product_list:
    print("////////////////BEGIN//////////")
    print(elem)
    print("///////////////END/////////////")

最佳答案

据我了解,这就是您的意思: Highlighted/Not Highlighted

这个有效:

from bs4 import BeautifulSoup
import urllib.request
from collections import *
from statistics import mean
import time
import re



list_url=[]

url = 'http://m.zooplus.co.uk/shop/pet_food/royal_canin_food/rc_size_dog'
response = urllib.request.urlopen(url)
html = response.read()
soup = BeautifulSoup(html,"html.parser")
rows = soup.find_all('li',{'class':re.compile('list-item.*')})


for row in rows:
    cls=row.attrs.get("class")
    if not ("highlighted" in cls):
        print(row.text)

关于css - Beautiful Soup 无法区分 CSS 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34944274/

相关文章:

html - 如何使用纯 HTML/CSS 创建响应式图像 map ?

django - 如何修复 django.utils.datastructs.MultiValueDictKeyError : in django

python-3.x - Python 调度模块在 Python 3 中不起作用

python - 生成器与嵌套 for 循环

python - Scrapy 和图像抓取的问题

javascript - 如何覆盖具有 !important 属性的 padding-left

javascript - 向上/向下箭头点击 如果点击太快选择太多

css - 如何通过 CSS 设置输入字段的最大整数值?

python - 网页抓取:访问大列表中的文本信息

python - 如何使用 BeautifulSoup 在 Python 中获取特定标签属性文本?