puppeteer抓取豆瓣网页信息的时候

来源:6-3 child_process fork 子进程来运行爬虫脚本

DyzziMon

2018-02-12

puppeteer抓取豆瓣网页信息的时候,用await page.click('.more'),模拟了点击更多这个按钮,这时候如何判断分页加载完毕?以及如何判断所有的接口都返回完毕?

写回答

3回答

Scott

2018-02-12

waitForSelector 如果不够用,比如有的 selector 没有特殊的特征,可以等待 3 秒钟或者 5 秒钟,这是一个经验值,可以设大设小的,也可以脚本中第一次爬,存一个变量记录页面上目标元素的数量,每次点击且等待后,看元素数量是否增加,如果没有,继续等待,如果增加了,直接去获取拿来用就好了

0
1
DyzziMon
等待某个时间值容易受到网络波动影响,第二个方案我也考虑过,通过waitfor目标元素的数量是否增加来判断是否需要继续等待,这样需要考虑的条件又多了,包括超时,网络错误等情况,总觉得不够优雅,看了pupeteer的文档貌似也没有提到过等待response全部返回的相关的api,倒是有监听response事件的_(:з」∠)_
2018-02-13
共1条回复

DyzziMon

提问者

2018-02-13

另外发现慕课网评论添加表情会报错,难道数据库不支持emoji?

0
0

lcxry

2018-02-12

waitForSelector


0
0

Koa2框架从0开始构建预告片网站

Koa2+MongoDB+Parcel+Puppeteer+AntDesign快速搭建预告片网站

751 学习 · 362 问题

查看课程