爬虫第四篇:html解析之xpath
2024-08-29 06:00:04
在上面的三篇中我们html的解析都是用了正则表达式进行匹配。下面我们主要说一下一个使用起来很简单的模块xpath进行匹配解析html文本。
Chrome上有一款插件:XPath Helper,直接在浏览器就可以验证xpath表达式的书写是否正确。
lxml 使用流程
1. from lxml import etree
2. parseHtml = etree.HTML(html)
3. rList = parseHtml.xpath('表达式')
xpath匹配规则
1. 获取节点对象
//div[@class="test"]
2. 获取节点属性值
//div[@class="test"]//a/@src
3. 函数
//div[contains(@class,"test")]/a/@href
4.获取节点对象内容
//div/a/text()
抓取Demo实例
import requests
from lxml import etree url = 'https://maoyan.com/board/4?offset=10'
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36'
} # 获取页面
res = requests.get(url, headers=headers)
html = res.text parseHtml = etree.HTML(html)
rList = parseHtml.xpath('//dl[@class="board-wrapper"]/dd')
for r in rList:
name= r.xpath('./a/@title')
print(name)
最新文章
- JS函数相关及递归函数的使用
- HDU 1159 裸最长公共子串
- [JavaCore] 不错的Java基础学习资料-持续更新
- jenkins配置记录(2)--代码发布流程
- NABCD模式
- css3颜色渐变
- Windows下编译使用Aliyun OSS PHP SDK
- Unity3d之Shader编程:子着色器、通道与标签的写法 &; 纹理混合
- 设置EXCEL2010打开多个独立窗口
- javascript笔记06:类的创建
- Bridage
- Unity3D 常用事件
- Cocos2D-x权威指南: CCNode类方法:
- 在Idea中调试ant应用
- 织梦autoindex应用 dedecms循环中判断第几条数据
- python3_list
- PCA,到底在做什么
- Java集合框架源码分析(2)LinkedList
- C#开发必会
- WebSocket-Over-HTTP Protocol