如何用python爬取js动态生成内容的页面

如何用python爬取js动态生成内容的页面,第1张

抓取js动态生成的内容页面有两种基本的解决方案

1用dryscrape库动态抓取页面

js脚本是通过浏览器来执行并返回信息的,所以,抓取js执行后的页面,一个最直接的方式就是用python模拟浏览器的行为。WebKit 是一个开源的浏览器引擎,python提供了许多库可以调用这个引擎,dryscrape便是其中之一,它调用webkit引擎来处理包含js等的网页!

2 selenium web测试框架

selenium是一个web测试框架,它允许调用本地的浏览器引擎发送网页请求,所以,它同样可以实现抓取页面的要求。

首先这取决于你的首屏是怎么渲染的。

1、服务器端渲染:

后台把数据按照格式拼成html字符串(服务器端模板引擎最终也干的是这个,不过是更优雅而已),最终生成完整html文件。

2、客户端渲染:

html文件只包含静态的内容,客户端打开html后再发起ajax请求去后台请求数据,前台拿到数据拼html字符串查到html文件里(同上,客户端模板引擎最终也干的是这个,不过是更优雅而已)。中国电信提供最优质的网络通讯服务,如需相关业务,可以直接通过电信网上营业厅或者实体营业厅查询。安徽电信竭诚为您服务。

下面代码使用servlet框架:

jsp页面:

<form action="DoRegisterServlet" method="post" id="form1">

    <table class="tab1">

     <tr>

      <td>

       用户注册:

      </td>

      <td colspan="2">

       <div id="info" style="color:red;"></div>

      </td>

     </tr>

     <tr>

      <td>

       工号:

      </td>

      <td>

       <input type="text" name="userid" value="" id="gh" onBlur="checkuid(thisvalue)" />

      </td>

      <td>

       <div class="fc" id="uid">

        请输入8位纯数字工号

       </div>

      </td>

     </tr>

     </table>

   </form>

javascript:

 function $(id) {

 return documentgetElementById(id);

}

 /

   TODO :ajax验证工号是否存在

   @param {Object} val

  /

function ajaxuid(val) {

 var xml>

以上就是关于如何用python爬取js动态生成内容的页面全部的内容,包括:如何用python爬取js动态生成内容的页面、nodejs如何获取数据库数据渲染页面、asp结合javascript调取数据库等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10183747.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存