您的位置:首页 > 编程语言 > Python开发

Web Scraping with Python:使用 Selenium 给当前网页截屏

2017-12-04 17:14 495 查看

一、引言

这是我在学习 《Web Scraping with Python》一书的第 13 章的时候学习到的内容。因为可以使用 Python 给当前网页截屏的话,也就意味着我们在书写自己的爬虫程序的时候,可以爬到自己感兴趣的网页的时候进行截屏处理,这将是一件非常有意义的事情:)

这里,作者使用了 Selenium 库。这是 Python 的一个第三方库,需要自行下载,是用于模拟网页中 JavaScript 执行的库。

另外,还需要下载一个虚拟浏览器 PhantomJS,需要使用这个虚拟浏览器配合我们的 Selenium 完成我们网页截屏的需求。

有关上述两个概念,可以自行百度,这里也就不再赘述了。

二、代码

这里直接上代码,简短有力:

from selenium import webdriver

driver = webdriver.PhantomJS(executable_path='D:\\phantomjs-2.1.1-windows\\bin\\phantomjs.exe')
driver.implicitly_wait(5)
driver.get('https://github.com/wangying2016')
driver.get_screenshot_as_file('github.png')


这里,我们从 selenium 中 import 了 webdriver,用于运行我们的 PhantomJS 虚拟浏览器,注意 executable_path 中写入我们的 phantomjs.exe 的实际地址。

之后,PhantomJS 等待了 5 秒钟,用于等待网页 JavaScript 等等操作结束。

最后,我们调用了 get_screenshot_as_file 函数,进行了截屏处理,并且将我们截取到的截图存放在了运行目录下,命名为 github.png。

这里是截屏结果:



可见,我们截屏得到的结果,是网页的全截屏,也就是说忽略了浏览器窗口大小限制的全尺寸截屏(想想这意味着什么,你可以一次截屏一篇博客,你可以一次截屏一篇新闻 T_T)。

这是一段非常有用的代码,希望能够给大家一点帮助 ^_^
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息