关于《爬取知网文献信息》中代码的一些优化
![](/theme/default/default/images/main/eye-open.png)
我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。
![](/theme/default/default/images/main/icon-link.png)
![](/theme/default/default/images/main/icon-jing.png)
哈喽大家好,我是咸鱼。本文对之前发布的《Python爬虫实战(5) | 爬取知网文献信息》文章中的代码进行了优化,并且提供了优化后的源码供大家参考。
问题
针对pycharm设置Edge驱动器时出现的“module 'selenium.webdriver' has no attribute 'EdgeOptions”错误,原因可能是使用了旧版本的selenium。建议更新到4.6以上版本以解决问题。新版本的selenium包含了Selenium Manager组件,它能够为Chrome、Firefox和Edge配置驱动,无需用户手动下载安装。
中文文档链接提供了关于如何更新驱动的指南:https://www.selenium.dev/zh-cn/documentation/webdriver/getting_started/install_drivers/
优化
修复了之前版本中只能爬取20倍数文献篇数的问题。对于获取不到网页的xpath元素的问题,提出了两种可能性:网页中的xpath元素可能会变化或网页加载太慢。建议用户检查xpath是否正确,或者增加等待超时时间。
优化后代码
咸鱼在文章中提供了优化后的代码,该代码包含了创建浏览器驱动器、打开页面、设置搜索主题和篇数等功能。代码采用显示等待+强制等待的方式,以应对加载慢的问题,并通过循环控制爬取的文章数量。代码中的webdriver.EdgeOptions()用于设置浏览器环境,比如禁止加载图片和设置无窗口模式,以提高爬取速度。
总结而言,文章提供了解决selenium环境设置问题的建议和解决方案,并且对原有的文献爬虫代码进行了优化,以提高爬虫的灵活性和效率。
想要了解更多内容?
![](/theme/default/default/images/main/icon-link.png)
![](/theme/default/default/images/main/icon-jing.png)
![](https://cdn.easycorp.cn/rongpm/upload/202312/f_39217d624bb2b42ce8f6322ebd7e573a.png)
![](https://cdn.easycorp.cn/rongpm/upload/202312/f_39217d624bb2b42ce8f6322ebd7e573a.png)