使用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)
使用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/'}