使用Selenium从中国经济社会发展数据库爬取数据并优化获取速度以解决StaleElementReferenceException问题
发布时间
阅读量:
阅读量
点赞发Nature
关注中Science
先前版本的爬虫测试代码可在此处获取
第一版爬取代码
对前一版本进行了若干测试,发现存在两个主要问题
采用time.sleep()设定固定等待时间的方式,使得数据抓取效率偏低,同时网络状况不佳等外部因素也可能引发异常中断
当处理大规模数据采集任务时,系统容易触发StaleElementReferenceException异常
针对上述问题,对相关代码进行了相应改进
def find_table(indicator, region, year):
wait = WebDriverWait(
browser,
40,
ignored_exceptions=(NoSuchElementException, StaleElementReferenceException),
)
browser.find_element_by_name("IndicateName").clear()
browser.find_element_by_name("IndicateName").send_keys(indicator)
browser.find_element_by_name("Indi
全部评论 (0)
还没有任何评论哟~
