Python爬虫(十九)_动态HTML介绍

作者: 小七奇奇 | 来源:发表于2017-12-21 20:40 被阅读58次

JavaScript

JavaScript是网络上最常用也是支持者对多的客户端脚本语言。它可以收集用户的跟踪数据,不需要重载页面直接提交表单,在页面嵌入多媒体文件,甚至运行网页游戏。
我们可以在网页源代码的<script>标签里看到,比如:

<script type="text/javascript" src="https://statics.huxiu.com/w/mini/static_2015/js/sea.js?v=201601150944"></script>

jQuery

jQuery是一个非常常见的库,70%最流行的网站(约200万)和约30%的其他网站(约2亿)都在使用。一个网站使用jQuery的特征,就是源代码里包含了jQuery入口,比如:

<script type="text/javascript" src="https://statics.huxiu.com/w/mini/static_2015/js/jquery-1.11.1.min.js?v=201512181512"></script>

如果你在一个网站上看到了jQuery,那么采集这个网站数据的时候要格外小心。jQuery可以动态地创建HTML内容,只有在JavaScript代码执行后才会显示。如果你使用传统的方法采集页面内容,就只能获得JavaScript代码执行之前页面的内容。

Ajax

我们与网站服务器通信的唯一方式,就是发出HTTP请求获取新页面。如果提交表单之后,或从服务器获取信息之后,网站的页面不需要重新刷新,那么你访问的网站就在用Ajax技术。
Ajax其实并不是一门语言,而是用来完成网络任务(可以认为它与网络数据采集差不多)的一系列技术。Ajax全称是Asynchronous JavaScript and XML(异步JavaScript和XML),网站不需要使用单独的页面请求就可以和网络服务器进行交互(收发信息)

DHTML

Ajax一样,动态HTML(Dynamic HTML, DHTML)也是一系列用于解决网络问题的技术集合。DHTML使用客户端语言改变页面的HTML元素(HTML, CSS,或者二者皆可改变)。比如页面上的按钮只有当用户移动鼠标之后才出现,背景色可能每次点击都会改变,或者用一个Ajax请求触发页面加载一段内容,网页是否属于DHTML,关键要看有没有用JavaScript控制HTML和CSS元素。

那么,如何搞定?

那些使用了Ajax或DHTML技术改变/加载内容的页面,可能有一些采集手段。但是用Python解决这个问题只有两种途径:

  1. 直接从JavaScript代码里采集内容(费时费力)
  2. 用Python的第三方库运行JavaScript,直接采集你在浏览器里看到的页面

相关文章

  • Python爬虫(十九)_动态HTML介绍

    JavaScript JavaScript是网络上最常用也是支持者对多的客户端脚本语言。它可以收集用户的跟踪数据,...

  • Python爬虫html转markdown

    Python爬虫html转markdown 说明 动态博客转静态博客(例如typecho转hexo),在上传静态博...

  • python爬虫入门

    入门python爬虫需要的基础知识:html,python,正则表达式。本文将着重围绕与爬虫相关的内容展开介绍。 ...

  • Python爬虫(6)-抓动态html

    环境:Python3.6工具:PyCharm目录:Menu目标:1.抓取Ajax执行后的动态html数据。2.抓取...

  • 爬虫入门基础

    Day01 一、爬虫介绍 什么是爬虫 Python爬虫的优势 Python爬虫需要掌握什么 爬虫与反爬虫与反反爬虫...

  • Python网络爬虫

    Python开发简单爬虫(Python2.X版本,Eclipse工具) 一、爬虫介绍 爬虫调度端:启动、停止爬虫,...

  • 01-认识爬虫

    一、爬虫介绍 什么是爬虫 Python爬虫的优势 Python爬虫需要掌握什么 爬虫与反爬虫与反反爬虫三角之争 网...

  • 爬虫理解版本3

    1 爬虫高级 1.1 动态HTML处理和机器图像识别 爬虫(Spider),反爬虫(Anti-Spider),反反...

  • Python爬虫之string、strings、stripped

    原文在此 Python爬虫获取html中的文本方法多种多样,这里主要介绍一下string、strings、stri...

  • 如何利用Python网络爬虫抓取微信好友数量以及微信好友的男女比

    前几天给大家分享了利用Python网络爬虫抓取微信朋友圈的动态(上)和利用Python网络爬虫爬取微信朋友圈动态—...

网友评论

  • josonLe:这部分内容不深入下去吗,最好上个案例😊,感觉开了个好头,到没有收尾🙁。谢谢
    小七奇奇:@josonLe 正在更新,一个字一个字码的,所以速度有点慢

本文标题:Python爬虫(十九)_动态HTML介绍

本文链接:https://www.haomeiwen.com/subject/pukzwxtx.html