通常,爬取网站,最简单的就是静态网页,一般 python的request+beautifulsoup就可以搞定。
困难的是动态网页的爬取。
动态网页爬取一般有以下几种方法:
1. 逆向回溯(即一层层找接口,或底层链接,想稳定快速爬取,可考虑这个,相当费时费力)
2. 渲染动态网页法( 使用PySide或ghost.py,但是由于太过久远已经被时代淘汰了,所以这种方法并不优雅)
3. 模拟浏览器法(如使用Selenium等,见下)
当今常用的三个常用的浏览器驱动:
库 | Selenium | Puppeteer | Playwright |
---|---|---|---|
JavaScript 支持 | 官方支持 | 官方支持 | 官方支持 |
Python 异步支持 | 无 | 第三方,而且 bug 不少 | 官方支持 |
Python 同步支持 | 官方支持 | 无 | 官方支持 |
维护者 | 社区 | 微软 | |
可操作性浏览器 | Chrome/Firefox/Safari/Edge | Chrome/Firefox | Chrome/Firefox/Safari/Edge |
模拟操作丰富度 | 一般 | 极好 | 很好 |
Cookie 支持 | 一般 | 一般 | API 非常友好 |
代理切换支持 | 一般 | 一般 | 极好 |
所以,Playwright是未来趋势,学会用Playwright即可
参考:
爬虫爬取动态网页的三种方式简介 | K0rz3n's Blog
Playwright: 比 Puppeteer 更好用的浏览器自动化工具 - 知乎
标签:浏览器,爬虫,支持,爬取,官方,网页,动态 来源: https://blog.csdn.net/Code_LT/article/details/120233510
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。