【背景】
如果纯用selenium写爬虫,总觉得无论从编写还是从执行的效率来说都比较低,其中一个原因,就是selenium本质上属于自动化测试工具,重点还是集中在模仿人的网页行为,将这些行为自动化的层面,换句话说,selenium在爬虫方面的长处是模拟互动动作,但是对于静态网页文件的信息处理效率不见得高。
【更优方案】通过Python优秀的结合能力,我们可以将强在互动模拟的selenium和强在静态网页数据处理的beautiful soup结合起来,强强联手,大大提高爬虫的效率。
【结合方法】通过如下代码,将某一个时点状态的selenium driver转化成html数据对象传给soup进行静态分析。
html = driver.page_source
soup = BeautifulSoup(html, "html.parser")
这里的driver就是你在程序中实例化的webdriver。
【用法要点】- selenium负责通过模拟点击等动作到达想要进行静态分析的页面状态
- soup负责吃进静态页面html信息进行高效的静态数据分析处理。