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\')可以直接传文件名
说明: