python3新的html解析工具requests_html用法简单介绍

使用Python开发的同学一定听说过Requsts库,它是一个用于发送HTTP请求的测试。如比我们用Python做基于HTTP协议的接口测试,那么一定会首选Requsts,因为它即简单又强大。现在作者Kenneth Reitz 又开发了requests-html 用于做爬虫。

我们直接使用pip进行安装即可

pip install requests_html

然后直接可以开始学习了

from requests_html import HTMLsession
session = HTMLsession()
response = session.get("http://www.sulao.cn") 
#直接打印页面所有链接
print(response.html.links)

menu.saveimg.savepath20190326140926.jpg

使用absolute_links可以获取所有URL绝对路径(也就是完整链接)的集合

print(response.html.absolute_links)

可以直接获取html争端标签

title = r.html.find('.warp a', first=True)
print(title.html)

使用find可以获取文字,链接等

article = response.html.find("h2>a")
for p in article:
    print(p.text)
    print(p.absolute_links)

可以配合first参数获取第一个title标签内容

title = r.html.find('title', first=True).text
print(title)

可以使用attr获取所有属性

title = r.html.find('.list li', first=True)
print(title.attrs)

搜索元素内链接

title = r.html.find('.warp a', first=True)
print(title.absolute_links)

页面上搜索文字

title = r.html.search('苏老{}笔记')[0]
print(title)
#打印
的学习

XPath定位文件路径

title = r.html.xpath('//div[@class="text"]/em/a/text()')[0]
print(title)

另外还可以解析本地文件

from requests_html import HTML

doc = """<a href='http://news.qq.com/'>""" 
html = HTML(html=doc)
print(html.links)# 输出内容:{'http://news.qq.com/'}


内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://sulao.cn/post/640.html

我要评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。