动态ip代理:使用爬虫实现前端页面渲染

在比较早的时候,大多数的网站基本都是利用后端做渲染的,就是在服务器端组装形成完整的HTML页面,然后在再将完整页面返回给前端进行展现。但是现在AJAX技术的不断普及,和AngularJS这类SPA框架的广泛应用,前端渲染的页面越来越多。
河马
相信很多人也听说过,前端渲染是不利于进行seo的,影响排名,这样做会对网络爬虫不友好。原因就是前端渲染的页面需要在浏览器端执行avaScript代码(即AJAX请求)才能获取后端数据,之后才可以拼装成完整的HTML页面。
针对这样的状况,当前的解决方式有很多,最常用的就借助PhantomJS、puppeteer这类Headless浏览器工具,也就是相当于给网络爬虫中内置1个浏览器内核,

对爬取的页面先进行渲染,随后再对页面内容进行爬取。

要使用这样的方法解决,通常都是需要使用Javascript来开发网络爬虫工具,对于写惯了Python的人来说是很纠结的

ip代理:使用爬虫实现前端页面渲染

那么今天Python的使用的都是requests-html

写过Python的人,几乎全都会使用requests这么1个HTTP库,它最好的地方就是HTTP库1点也是不夸张(不限编程语言),对于其介绍语HTTPRequestsforHumans也是当之无愧。

也是这个原因,Locust和HttpRunner全全都是基于requests来进行开发的。

而requests-html,则是kennethreitz在requests的基础上开发的另1个开源项目,除了可以复用requests的全部功能外,还实现了对HTML页面的解析,即支持对Javascript的执行,和利用CSS和XPath对HTML页面元素进行提取的功能,这些全全都是编写网络爬虫工具非常需要的功能。

在实现Javascript执行方面,requests-html也是并没有自己造轮子,而是借助了pyppeteer这个开源项目。还记得前面提到的puppeteer项目么,这是GoogleChrome官方实现的NodeAPI;而pyppeteer这个项目,则相当于是使用Python语言对puppeteer的非官方实现,几乎具有puppeteer的所有功能。

代理ip:使用爬虫实现前端页面渲染

理清了以上关系后,相信大伙儿对requests-html也是就有了更好的理解。

在使用方面,requests-html也是十分简单,用法与requests几乎相同,只是多了render功能。

007.jpg   在执行render()之后,返回的就是经过渲染后的页面内容。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值