我目前正在使用Selenium来抓取某些网站的数据。与urllib不同,我似乎并不需要像BeautifulSoup这样的解析器来解析HTML。我可以简单地找到一个使用Selenium的元素并使用Webelement.text来获取我需要的数据。正如我所看到的,有些人在网络爬行中一起使用Selenium和BeautifulSoup。真的有必要吗? bs4可以提供哪些特殊功能来改善抓取过程?谢谢。
答案 0 :(得分:6)
Selenium本身在定位元素方面非常强大,它基本上拥有从HTML中提取数据所需的一切。问题是,很慢。每个单一的selenium命令都经过JSON wire HTTP protocol并且有很大的开销。
为了提高HTML解析部分的性能,让BeautifulSoup
或lxml
解析从.page_source
检索到的页面源通常要快得多。
换句话说,动态网页的常见工作流程如下:
driver.page_source
并关闭浏览器