标签:网络 html解析器 XML class 怎么 实战 ref rom 包括
1 常用的页面内容解析的库
页面解析是我们写爬虫获取数据的最终目的。在python中常用的爬虫解析的库包括:
在使用这些包对html页面进行解析的时候,应该先了解一下基本的概念:
思考如下的问题:
思考问题1答案:怎么定位到要获取的数据所在的目标元素,即定位目标元素位置
2 常用的包的使用详解
(1)xpath
1 from lxml import etrre 2 3 """构造xpath解析对象""" 4 5 # 1. 从文本 6 text = "<root><a x=‘123‘>aText<b/><c/><b/></a></root>" 7 root = etree.HTML(text) 8 9 # 2. 从文件 10 parse = etree.HTMLParser() # 自定义html解析器 11 html = etree.parse("file.html", parse)
text = "<root><a x=‘123‘>aTextx</a></root>" root = etree.HTML(text) print(etree.tostring(root)) # <html><body><root><a x="123">aText</a></root></body></html> # 目标节点:<a =‘123‘>aText</a>
a = root.xpath("/html/body/root/a") # 根节点 / print(a) # [<Element a at 0x1178ca188>] b = root.xpath(".//root/a") # 当前节点选取root子孙节点, 其中.可以省略,"//root/a" print(b) # [<Element a at 0x1178ca188>] c = root.xpath("./body/root/a") # 当前节点选取body子节点,这里的.不能省略,省略了就是根节点了 print(c) # [<Element a at 0x1178ca188>]
(2)bs4
(3)re
参考:
1. https://lxml.de/tutorial.html#parsing-from-strings-and-files
2. [Python3网络爬虫开发实战] 4.1-使用XPath
标签:网络 html解析器 XML class 怎么 实战 ref rom 包括
原文地址:https://www.cnblogs.com/cody-meng/p/11917297.html