python下使用selenium怎么才能控制浏览器加载某个元素

 我来答
就烦条0o
2016-08-17 · 知道合伙人软件行家
就烦条0o
知道合伙人软件行家
采纳数:33315 获赞数:46492
从事多年系统运维,喜欢编写各种小程序和脚本。

向TA提问 私信TA
展开全部
要尝试爬取页面数据,
若是使用selenium去打开浏览器模拟点击貌似不太方便。
我通常都是先想办法获取到对应页面模块的api请求,再模拟发送请求,最后分析响应到的数据。

比如这个京东的商品评价,可以通过以下方式获得api:
1. 在chrome中打开页面,也打开dev tool,
页面拉到评价区域,清除tool中的已有的request,
点击商品评价区域的不同标签,如:差评,
这时会capture到新的request,从头开始一个个的找过去,

2. 因为是get的,所以尝试扰尘直接访问:扮乎
发现这个就可以直接得到内容。

3. 接下来再搞清楚下url中,p-100012-s-1-t-3-p-0这一串的含义:

因为商品sku是100012,所以p-100012比较好理解。

4. 点击商品评价区域的不同标签,如:好评,同样方法,找到的是:
可以看出来,好评和差评,不一样的是s-1、s-3,
那就再点下中评,发现是:
这样,多点点切换标签页,最终可以看出来:全部s-0、缓缺禅差评s-1、中评s-2、好评s-3、有图片的s-4。

5. 再在中评中点击第二页,第三页,最终发现:
第一页p-0、第二页p-1、第三页p-2。

6. 不过,t-3那个没找到规律,就不知道是什么了。-_-||

7. 哦,还要分析下响应到的数据,
看看json数据,比对页面显示的内容,可以发现:
productCommentSummary应该是该sku评论的统计概要:

productCommentSummary['goodRateShow']应该是好评度,

productCommentSummary['commentCount']应该是全部评论数,

productCommentSummary['score1Count']应该是一颗星的评论数,

productCommentSummary['score2Count']应该是两颗星的评论数

……

comments应该是评论列表,comments[0]是第一条评论详情:

comments[0]['content']:评价内容

comments[0]['creationTime']:评价时间

comments[0]['score']:顾客满意度

comments[0]['usefulVoteCount']: 赞

comments[0]['referenceTime']:购买时间

comments[0]['replyCount']:回复

……

hotCommentTagStatistics列表就是:买家印象

嗯,就这样:知道了api,知道了url规则,知道了response格式,就可以写个大概的脚本跑一跑,再慢慢修改到最终要的结果。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式