第三个爬虫实战代码(使用xpath表达式)
warning:
这篇文章距离上次修改已过192天,其中的内容可能已经有所变动。
由于原代码已经包含了一个使用XPath表达式的实例,我们可以直接使用原代码中的相关函数和类。以下是一个简化的实例,展示了如何使用XPath表达式来提取页面中的书籍信息:
from lxml import etree
# 假设html是一个包含HTML内容的字符串
html = """
<div class="book">
<h1 class="title">书名: Python爬虫开发与项目实战</h1>
<p class="author">作者: 张三</p>
<p class="price">价格: 99.00元</p>
</div>
<div class="book">
<h1 class="title">书名: JavaScript网络爬虫开发</h1>
<p class="author">作者: 李四</p>
<p class="price">价格: 88.00元</p>
</div>
"""
# 使用etree.HTML解析HTML字符串
tree = etree.HTML(html)
# 使用XPath表达式选取所有书籍信息
books = tree.xpath('//div[@class="book"]')
# 遍历每本书并提取信息
for book in books:
title = book.xpath('.//h1[@class="title"]/text()')[0]
author = book.xpath('.//p[@class="author"]/text()')[0]
price = book.xpath('.//p[@class="price"]/text()')[0]
print(f"书名: {title}, 作者: {author}, 价格: {price}")
这段代码首先定义了一个包含HTML内容的字符串html
,然后使用etree.HTML
解析这个字符串,并使用XPath表达式//div[@class="book"]
选取所有的书籍信息。接着,遍历每本书籍,并使用相对应的XPath表达式提取书籍的标题、作者和价格。最后,打印出每本书的信息。
评论已关闭