Python爬虫相关技术(xpath和beautifulsoap)

本文详细介绍XPath语法,包括路径表达式、节点选取等,并深入探讨BeautifulSoup库的使用方法,如文档解析、节点属性获取及元素查找,适用于网页抓取和数据提取任务。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、xpath

xpath用于定位html中的元素。

/ 表示从根节点进行查找元素

// 从匹配的当前节点来对文档的节点进行选择

. 选取当前节点

.. 选取当前节点的父节点

@ 选择属性

/html 选取根节点下的所有html元素,也就是整个html文档。

/body/div 选取属于body的子元素中所有div元素。

//div 选取所有div标签的子元素,不管在html文档中的为止。

@class 选取名称为class的所有属性

通配符

* 匹配任何元素节点

@* 匹配任意属性

//* 选取文件中的所有元素。

//title[@*] 选取所有带有属性的title。

| 代表和的关系。

//body/div | //body/li 选取body元素的所有div元素和li元素

//div | // li 选取文档中所有的div 和li 元素。

二、beautifulsoap

beautifulsoap 是一个从html或者xml文件中提取数据的python库。

安装命令:

pip install beautifulsoap4

引用库

from bs4 import BeautifulSoap

html_url = "http://wwww.test.com/test.html"
html_file = open(html_url, "r", encoding="gbk")
html_handle = html_file.read()
soup = BeautifulSoap(html_handle, 'html.parser')

获取html文档头

print(soup.head)

获取节点中的属性

print(soup.p.attrs)

获取所有的p元素

ps = soup.find_all("p")

pring(ps)

通过id进行查找

result = soup.find_all(id="testid")

按照属性进行查找

jobs = soup.find_all("td", class_="jobs")

print(jobs)

其中td是元素标签,class_表示class属性

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序猿20

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值