etree.xpath 使用
参考网站:https://www.w3school.com.cn/xpath/xpath_functions.asp
第1步导入lxml模块
第2步 初始化准备要用处理的文件或者字符串
第3步,按照各种规则来提取第2步已经处理好的html
第一种:利用现有的html文件导入
from lxml import etree html = etree.parse(‘./maoyan.html‘,etree.HTMLParser(encoding=‘utf-8‘)) //利用现有的html文件导入,使用方法 result01 = html.xpath(‘//i/ancestor::dd‘)
第2种,利用代码中的定义的text
BeautifulSoup
参考网站:https://beautifulsoup.readthedocs.io/zh_CN/v4.4.0/#id14
第1步,导入BeautifulSoup
第2步,初始化准备要用处理的文件或者字符串
第3步,按照各种规则来提取第2步已经处理好的html
两种构造方法:
soup = BeautifulSoup(open("index.html"))
soup = BeautifulSoup("<html>data</html>")
from bs4 import BeautifulSoup
#使用已经有的html来处理,建议使用open先打开html,因为如果有中文字符的话,直接打开的话会出现中文乱码问题
html = open(‘maoyan.html‘,‘r‘,encoding=‘utf-8‘)
soup = BeautifulSoup(html,‘lxml‘)
pyquery
参考网站:https://pyquery.readthedocs.io/en/latest/index.html
第1步,
导入from pyquery import PyQuery as pq
第2步:初始化需要处理要用处理的文件或者字符串
第3步,按照各种规则来提取第2步已经处理好的html
构造方法: from pyquery import PyQuery as pq from lxml import etree import urllib
1、直接字符串
doc = pq("<html></html>") pq 参数可以直接传入 HTML 代码,doc 现在就相当于 jQuery 里面的 $ 符号了
2、lxml.etree
doc = pq(etree.fromstring("<html></html>"))
可以首先用 lxml 的 etree 处理一下代码,这样如果你的 HTML 代码出现一些不完整或者疏漏,都会自动转化为完整清晰结构的 HTML代码。
3、直接传URL
doc = pq(‘http://www.baidu.com‘)
这里就像直接请求了一个网页一样,类似用 urllib2 来直接请求这个链接,得到 HTML 代码
4、传文件
doc = pq(filename=‘hello.html‘)可以直接传文件名
说明: