(四)爬虫-入门2

接上次的程序。上次的程序可以做到将一个页面上的图片爬取下来,但是这种网站通常有多页,需要将每页的图片都爬下来。


相关工具及版本:

(1)  Selenium 3.141。Selenium [1] 是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。基本上它可以模拟真实用户的所有操作。

(2)  Chrome浏览器驱动 2.45。注意这个驱动要对应自己chrome浏览器的版本,可以去https://sites.google.com/a/chromium.org/chromedriver/(需要over the wall)查找与自己浏览器对应的版本并且下载。安装过程很麻烦🙃🙃🙃。本来是要用phantomjs的,但是最新的selenium已经不支持phantomjs了:Selenium support for PhantomJS has been deprecated, please use headless versions of Chrome or Firefox instead。


例子:爬取https://ibaotu.com/ui/15-91803-0-0-0-1.html的ui所有页面的图片。

 代码在上一个例子上进行改造,主要改造点在于:

(1)    模拟点击下一页的操作,需要使用Selenium的一个方法来执行js代码。

driver.find_element_by_class_name("next").click()

在这个页面中,下一页的按钮都有一个标签class = “next”,通过找到这个标签,然后点击下一页。

(2)    稍微修改一下逻辑部分

driver = webdriver.Chrome() #指定使用的浏览器,初始化webdrive


代码
结果

注:在这个例子里面,因为每一页的地址都是有规律的,所以不用模拟点击下一页,直接生成地址就可以爬取,但是通过selenium可以完成一些其它的操作,例如模拟下拉加载。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容