现在的很多网页都会使用Ajax这种异步加载的技术来提高网页的浏览体验,而异步加载就是让一部分元素在点击或者执行了某些操作时才会加载出来,而这对python爬虫程序会造成很大的影响。下面会来给大家介绍一下python爬虫让网页等待加载的方法,往下看看吧。
之所以要使用页面等待方法的原因就是为了配合python爬虫,因为爬虫程序在模拟浏览器访问网站的时候会将整个网页的数据都给抓取下来。但是网络差或者有异步技术存在,就无法获取到一些没有加载完成的dom元素。
而使用页面等待就可以将整个网页的操作都给暂停,直到指定的时间过去或者元素加载完成,而页面等待也分为显示和隐式两种。
一、显示等待
显示等待的意思就是当某条件符合的时候才去执行获取元素并且抓取数据的操作,这种方法比较适合于需要抓取整个网页数据的情况,因为它可以设定等待页面元素全部加载完成之后再去抓取数据,代码示例如下所示:
from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
driver.get(url)
try:
element = WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.ID, 'sousuo')))
finally:
driver.quit()
二、隐式等待
那么与显示等待相对的就是隐式等待了,隐式等待其实也很好理解和使用。隐式等待只需要使用一个方法就可以去实现,因为它的作用是让网页的所有操作都停留下来等待一定的时间。调用方法时需要传入数字,单位为秒,示例如下:
driver.implicitly_wait(10)
以上就是关于“Python怎么让页面等待?Python爬虫如何等待网页加载完成”的全部内容了,希望对你有所帮助。
关于Python技术储备
学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!
一、Python所有方向的学习路线
Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
二、Python必备开发工具
三、Python视频合集
观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
四、实战案例
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
五、Python练习题
检查学习结果。
六、面试资料
我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
最后祝大家天天进步!!
上面这份完整版的Python全套学习资料已经上传至CSDN官方,朋友如果需要可以直接微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】。