2024-06-06

BeautifulSoup(contents, "html.parser"):

BeautifulSoup 是一个用于解析HTML和XML文档的库。它可以自动将文档转换为一个复杂的树结构,以便轻松地遍历和搜索节点。
contents 是包含HTML内容的字符串,即从HTML文件中读取的内容。
"html.parser" 是BeautifulSoup内置的解析器之一,用于解析HTML文档。
soup:

soup 是一个BeautifulSoup对象。创建这个对象后,可以使用BeautifulSoup提供的各种方法和属性来操作和提取HTML文档中的数据。
html.parser 是Python内置的一个HTML解析器。相当于一个翻译机吧读取到的HTML代码翻译成为python

product_cards = soup.find_all('div', class_='product-card') 这行代码的作用是从HTML文档中找到所有 class 属性为 product-card 的 <div> 元素,并将它们作为 BeautifulSoup 对象的列表返回。这样可以方便地对这些商品卡片进行遍历和信息提取。

from bs4 import BeautifulSoup

html_content = """
<div class="product-card">
    <img src="image1.jpg" alt="商品1">
    <p name="itemName">商品1名称</p>
    <p name="price">100元</p>
    <p name="paymentCount">20人付款</p>
    <p name="city">北京</p>
    <p class="shop-name">店铺1</p>
</div>
"""

# 使用 BeautifulSoup 解析 HTML 内容
soup = BeautifulSoup(html_content, "html.parser")
#先获取数据吧html代码翻译成python能看懂的话

# 查找 class 为 'product-card' 的 div 标签
product_card = soup.find('div', class_='product-card')
#找到这个标签为product-card 可以理解为在一群班级里面先找到某个班级这个班级名是product-card(先是抓取一些大数据)

# 查找 name 属性为 'itemName' 的 p 标签,并提取其文本内容
name = product_card.find(attrs={'name': 'itemName'}).text
#这句话的意思就是在这个名为product-card的班级找到名字是'itemName的学生(在从刚才做到的大数据中抓取其中的小数据)就像是找学生一样先知道他是那个班级的找到那个班之后在从那个班级里面找到那个交**的学生其中这个**就是'name': 'itemName''

#答案中的'name': 'itemName','name' 'paymentCount','name'. 'city','class':'shop-name'应该都是题中给到的指定标签名,也可以理解为让找的那几个学生的名字,然后就能爬取其中的数据,


# 打印提取的商品名称 print(f"商品名称: {name}")
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容