最近好像对这方面需求比较高,总有人问我爬过携程没,我寻思着拿selenium也没太大难度吧,晚上就做了个demo。
这里做的是携程上面天津市酒店的所有评论信息demo,你要问我为啥不拿信息价格类型标签之类的,毕竟是demo嘛,评论跟那些数据在同一页面的,有需要可以自己花点时间改一下。我提的数据直接界面上copy xpath的,只拿了用户的id和他的评论。
下面是测试图,这次放上面。
那就先说下用selenium拿这个数据时候的坑吧。
刚开始就直接driver.get()看了下,唉发现有数据啊,没啥难度啊,一想又感觉不对劲,就对比了下数据,
观察了下发现,我用webdriver启动的浏览器没有评论,并且酒店的价格也不一样。原来是一个假数据。。。
这么一看那就是 selenium 被检测到了,所以也不考虑到底检测到了哪条属性,为了省时间,我直接用 ChromeOptions 切换成了开发者模式。(方法下面讲)
再次请求,对比数据后发现是一致的。
这个完成之后,感觉可以直接拿数据了吧,在采集时我发现,他的所有页面都是异步加载的。
也就是说,我在点击下一页的时候,url是不会改变的。