1.针对网站结构复杂,js动态加载采用selenium是非常方便的。
selenium-python中文文档 (python-selenium-zh.readthedocs.io)https://python-selenium-zh.readthedocs.io/zh_CN/latest/1.%E5%AE%89%E8%A3%85/缺点:爬取速度慢,针对大量数据集不适合爬取。
完善方法:可以考虑采用多线程和多进程来加快速度。
可以采用不加载一些元素来加快速度比如css等。
2.如果你想用几行代码就能搞定一个爬取任务那么requests-html是非常不错的。
完善:大佬可以尝试改变它的源码来解决这个功能。
3.最经典的方法:request和beatuiful-soup来复杂请求和解析。
缺点:复杂的js动态加载数据是不能处理的。
完善:mechanize是另一种爬虫框架是可以加载JS的。
4.最老的方法:urllib3----上世纪的东西,对于学习有用。
5.构建一个结构性的强大爬虫可以用scrapy来构建
Scrapy 2.5.0 文档 (osgeo.cn)https://www.osgeo.cn/scrapy/intro/examples.html
缺点:但是对于稍微复杂一点的页面它就不得行了。
6.可视化的爬虫软件:Portia PySpider
pyspider使用教程 - 腾讯云开发者社区-腾讯云 (tencent.com)https://cloud.tencent.com/developer/article/1809106pyspider的安装过程中的那些坑_kali
https://blog.csdn.net/CSDN__CPP/article/details/110007755
7.要求速度很快可以用cola和Crawley
8.其他的还有专门用来爬取特定内容的框架比如爬取文章图片等。