一、动态网页处理
1、很多网站都采用AJAX技术,SPA技术,部分内容都是异步动态加载的。可以提高用户体验,减少不必要的流量,方便CDN加速等;
2、但是,对于爬虫程序爬取到的HTML页面相当于页面模板了,动态内容不在其中;
3、解决办法:
1)如果能构造一个包含JS引擎的浏览器,让它加载网页并和网站交互,我们编程从这个浏览器获取内容包括动态内容。
二、PhantomJS
PhantomJS它是一个无头浏览器headless,支持javascript。可以运行在Windows、Linux、Mac OS等。
所谓的无头浏览器,就是包含Js引擎、浏览器排版引擎等核心组件,但是没有和用户交互的界面的浏览器;
使用方法:只需要在官网下载对应操作系统的PhantomJS,解压缩就可以使用了;
三、Selenium
它是一个WEB自动化测试工具,它可以直接运行在浏览器中,支持主流的浏览器,包括PhantomJS;
Selenium注意是用来做自动化测试,支持多种浏览器,爬虫中注意用来解决JavaScript渲染问题;
1、安装
$pip install selenium
2、导入
from selenium import webdriver #核心对象
四、Selenium简单介绍
1、下拉框处理:Selec