今天学习爬取一个医疗网站的医院数据,html页面有属性和标签,返回的请求也有属性和标签,但是用BS\re等均匹配不到数据,简直是无语了,后来通过查找资料发现页面被JS渲染了,利用普通的规则是无法获取数据的,但phantomjs很好的解决了这个问题。
PhantomJS 是一个基于WebKit的服务器端 JavaScript API。它全面支持web而不需浏览器支持,其快速,原生支持各种Web标准: DOM 处理, CSS 选择器, JSON, Canvas, 和 SVG。PhantomJS可以用于页面自动化,网络监测,网页截屏,以及无界面测试等。简而言之:基于WebKit的,没有界面的浏览器。闪亮的功能点:PhantomJS可以用于页面自动化,网络监测,网页截屏,以及无界面测试。优势:跨平台,易上手。(将一个页面输入给Phantomjs,其就如同一个浏览器一样,去解析执行这个页面,获取最终展示的结果)
听说PhantomJS团队已经停止更新,但我们可用Chrome直接模拟浏览器登录,效果一样的好呢,但需要自己装Chrome的驱动,手动配置均能完成需求。
selenium定位元素函数:
前八种是大家都熟悉的,经常会用到的,
1.id定位:find_element_by_id(self, id_)
2.name定位:find_element_by_name(self,