当前位置: 首页 > 工具软件 > Requests-HTML > 使用案例 >

新的爬虫工具包requests-html 使爬虫更简单!!

韦棋
2023-12-01

requests-html 包的安装:

pip install requests-html

requests-html pip 安装时多出来的包(appdirs=1.4.3,cssselect=1.03,fake-useragent=0.1.11,parse=1.9.0,pyee=5.0.0,pyppeteer=0.0.25

,pyquery=1.4.0,requests_html=0.9.0,tqdm=4.28.1,w3lib=1.19.0,websockets=7.0)

requests-html 官方文档位置https://cncert.github.io/requests-html-doc-cn/#/?id=%e5%ae%89%e8%a3%85

requests-html 官方api 调用 https://html.python-requests.org/

requests-html包的使用:

from requests_html import HTMLSession

session = HTMLSession()
# 其中get请求中的参数和requests库中的get是一样的可以随意添加
r = session.get('http://www.runoob.com/python/python-func-iter.html')
# 查看页面内容
print(r.html.html)
# 返回页面的所有链接 返回一个列表
print(r.html.links)
# 返回页面所有的链接 自动转换成绝对路径
print(r.html.absolute_links)
# 寻找定位 只寻找一个 默认是fitst=False
xx = r.html.find('#id',first=True)
print(xx.text) # 提取文本
print(xx.attrs) # 提取参数 {'id':'id','class':'zzz'}
print(xx.html) # html <li id="about" class="zzz">123<img rec='></li>
print(xx.find('img')) # 获取指定子元素
print(xx.absolute_links) # 获取其中的绝对元素
# 在获取的页面中查找文本
print(xx.html.search('Python is a {} language')[0])

# css选择器示例
sel = 'body > div.application-main > div.jumbotron.jumbotron-codelines > div > div > div.col-md-7.text-center.text-md-left > p'
print(xx.html.find(sel, first=True).text)

# XPath
print(xx.html.xpath('a'))

支持js 动态加载

r = session.get('http://python-requests.org/')
# 进行通过浏览进行js加载 第一次运行时它会后台 下载一个 Chrimium 浏览器 进行js加载用
r.html.render()

 

 类似资料: