主流爬虫方法分类:
1,selenium+Chrome/PhantomJS
2,Requests+正则表达式
3,Requests+ BeautifulSoup
4,Requests+分析ajax
5,Requests+xpath(lxml包)或CSS
今天要讲的第5种。
- 原理:将有可能不合法的HTML 解析为统一格式。 虽然Lxml可以正确解析属性两侧缺失的引号,并闭合标签,不过该模块没有额外添加<
html >和<body>标签 。CSS其实和lxml在内部实现相似,实际上是将CSS选择器转换为等价的Xpath选择器。 - 速度:Lxml模块使用 C语言编写,所以速度和re正则一样,非常快。
- 场景:大部分的页面解析和内容抓取。涉及到js和ajax的需要先加载js、ajax请求,再对页面进行解析和xpath定位抓取。
- 依赖库:lxml from lxml import etree
-
基本用法:Selector = etree.HTML(网页源代码)
Selector.xpath(一段神奇的符号)
- xapth表达式:
7,xpath推荐学习链接:
https://www.cnblogs.com/lei0213/p/7506130.html
xpath定位方法:
(源码见附件)