【python爬虫】使用Selenium+PhantomJS抓取动态页面

需求

有些网站反爬虫,会在js里面动态操作DOM渲染页面,执行js后的页面才是最终页面。
而我们在python中直接用requests.get()获取到的页面,是没执行js的页面,没有我们想要的信息。
解决方法是Selenium+PhantomJS.

Selenium – Web Browser Automation
PhantomJS – a headless WebKit scriptable with a JavaScript API. 简单说,就是个没有界面的浏览器。

安装

安装Selenium

pip install -U selenium

安装PhantomJS

去官方下载对应版本http://phantomjs.org/download.html。并将解压后的可执行文件放到环境变量可以搜索到的地方。使得可以在命令行直接执行phantomjs命令。

使用

from selenium import webdriver
driver = webdriver.PhantomJS()
driver.get(url)
content = driver.page_source

只需要在原先用

resp = requests.get(url)
content = resp.content

的地方,替换成

driver.get(url)
content = driver.page_source

即可

    原文作者:mattkang
    原文地址: https://blog.csdn.net/handsomekang/article/details/78935705
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞