首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >为什么木偶师总是给出第一页的数据?

为什么木偶师总是给出第一页的数据?
EN

Stack Overflow用户
提问于 2020-02-04 03:57:12
回答 2查看 178关注 0票数 0

我正试图从一个用木偶技师的网站上搜集数据。当我每次请求数据时,它都会给我第一页的数据,即使我传递的是任何其他页面的url。在google上,它给出了与搜索url相关的正确页面数据,但是当我从API或postman请求时,它总是给我第一页数据。下面是我的剧本..。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
async function main() {
    const browser = await puppeteer.launch({ headless: false });
    const page = await browser.newPage();
    await page.setViewport({ width: 1200, height: 720 })
    await page.goto('https://member.daraz.pk/user/login', { waitUntil: 'networkidle0' }); // wait until page load
    await page.type('input[type="text"]', 'username', { delay: 10 });
    await page.type('input[type="password"]', 'pass', { delay: 10 });

    // click and wait for navigation

    await page.click('.next-btn-large');
    await page.waitFor(8000);
    const page1 = await browser.newPage();
    await page1.setViewport({ width: 1200, height: 720 })
    await page.waitFor(1000);
    for (let i = 1; i < 10; i++) {
        await page.goto(`https://www.daraz.pk/air-conditioners/gree/?page=${i}`, { waitUntil: 'networkidle0' });

        // always return first page data

    }

}

main();```
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-02-05 23:17:10

我在注释中建议的脚本是加载图像src值,并要求这些图像在页面加载之前是可见的。因此,如果您没有使正确的选项卡可见,它可能不会加载它们。这是一种按需加载的图像,内置在页面中。最好看看页面中没有以这种方式加载的其他方面。我修改了我的脚本来做到这一点。

这是一个适合我的剧本。我不知道页面中需要哪些数据,但这将获得页面中每个产品的sku-simple值和title。为了简洁起见,我只将每页中的前10种产品输出到控制台,然后将其拨回只遍历3页。很明显,你可以随意调整。我还从我的脚本中删除了用户名/pwd,因为我看到它不再公开了。你可以自己填。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
const puppeteer = require('puppeteer');

async function main() {
    const browser = await puppeteer.launch({ headless: false });
    const page = await browser.newPage();
    await page.setViewport({ width: 1200, height: 720 })
    await page.goto('https://member.daraz.pk/user/login', { waitUntil: 'networkidle0' }); // wait until page load
    await page.type('input[type="text"]', 'xxx', { delay: 10 });
    await page.type('input[type="password"]', 'yyy', { delay: 10 });

    // click and wait for navigation

    await page.click('.next-btn-large');
    await page.waitFor(8000);
    const page1 = await browser.newPage();
    await page1.setViewport({ width: 1200, height: 720 })
    await page.waitFor(1000);
    // page.on('console', msg => console.log('PAGE LOG:', msg.text()));
    for (let i = 1; i <= 3; i++) {
        await page.goto(`https://www.daraz.pk/air-conditioners/gree/?page=${i}`, { waitUntil: 'networkidle0' });
        let srcs = await page.$$eval(".c2prKC", elements => { 
            return elements.map(el => {
                let skuSimple = el.getAttribute("data-sku-simple");
                let link = el.querySelector(".c16H9d a");
                let title = "<unknown>";
                if (link) {
                    title = link.getAttribute("title");
                }
                return {skuSimple, title};
            });
        });
        console.log(`Data for page ${i}:`);
        console.log(srcs.slice(0,10));
    }
    //await browser.close();    

}

main();

我在控制台中看到这样的输出,因此它显然是在获取页面并从这些页面中的DOM中检索数据:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Data for page 1:
[
  {
    skuSimple: 'GR678HL0KV5HWNAFAMZ-4744951',
    title: 'Gree Inverter AC - GS-18CITH12G - 1.5 ton - Inverter  Air Conditioner - Cozy Series - Heat N Cool - Grey'
  },
  {
    skuSimple: 'GR678HL09YUCKNAFAMZ-3940302',
    title: 'Gree GS-12FITH1W - Fairy Inverter Air Conditioner Series - White'
  },
  {
    skuSimple: 'GR678HL0RTUHWNAFAMZ-3940305',
    title: 'Gree GS-18FITH1W - Fairy Inverter Air Conditioner Series - White'
  },
  {
    skuSimple: 'GR678HL1E0WZSNAFAMZ-1741958',
    title: 'Gree Split Air Conditioner - GS-12LM4 - 1 Ton - White'
  },
  {
    skuSimple: '2779851_PK-1252862621',
    title: 'Gree 18CITHI 12G- DC Inverter AC - 1.5 Ton'
  },
  {
    skuSimple: 'GR678HLEOKNJNAFAMZ-668566',
    title: 'Gree Gree GS-12LM -1 Ton Air Conditioner - White'
  },
  {
    skuSimple: '114820460_PK-1266640670',
    title: 'Gree Windows AC 0.75 Ton with Remote Control 60% Electricity Saving'
  },
  {
    skuSimple: '2864384_PK-1246026961',
    title: 'Gree Inverter AC - GS-12CITH12G - 1.0ton - Inverter Air Conditioner - Cozy Series - Heat N Cool - Grey'
  },
  {
    skuSimple: '105610333_PK-1253012621',
    title: 'Gree 1.0 Ton Dc Inverter AC Heat & Cool R-410A Air Conditioner - 12cith12G - Grey'
  },
  {
    skuSimple: '105616318_PK-1253002672',
    title: 'Gree 1.5 Ton Dc Inverter AC Heat & Cool R-410A Air Conditioner - 18cith12G - Grey'
  }
]
Data for page 2:
[
  {
    skuSimple: '109636918_PK-1260070281',
    title: 'New Gree DC Inverter Ac 1(ton) 12CIT'
  },
  {
    skuSimple: '114536248_PK-1266322653',
    title: 'Gree 1.0 Ton Heat & Cool DC Inverter Air conditioner 12CITH'
  },
  {
    skuSimple: '109830097_PK-1260278793',
    title: 'AC Dawlance Inspire Plus Inverter 30 1.5 Ton Split Saving 26000 Yearly'
  },
  {
    skuSimple: '121648880_PK-1277580612',
    title: 'Gs-24Lm4L - 2 Ton Ac - White - Brand Warranty'
  },
  {
    skuSimple: '106364064_PK-1254400160',
    title: 'Gree Floor Standing GF-48FW - Floor Standing Low Voltage Startup Series - White'
  },
  {
    skuSimple: '109324039_PK-1259442545',
    title: 'Gree G10 Inverter 1.5 Ton (18000 BTU) GS-18CITH2/2G Split Air Conditioner'
  },
  {
    skuSimple: '122056481_PK-1278142392',
    title: 'AC Gree 12FITH1C 1 Ton DC Inverter Split AC 50% to 70% Energy Saving'
  },
  {
    skuSimple: '115570453_PK-1267506144',
    title: 'AC Gree GS-12CITH13M Inverter 1 Ton (Wifi) Split 60% to 70% Energy Saving'
  },
  {
    skuSimple: 'GR678HL0ZWE2CNAFAMZ-4776611',
    title: 'Gree 1.5 Ton Dc Inverter Heat & Cool R-410A Air Conditioner - 18cith11B - Black'
  },
  {
    skuSimple: '110096660_PK-1260802813',
    title: 'GREE 1.0 TON SPLIT COOL ONLY AIR CONDITIONER 12LM4'
  }
]
Data for page 3:
[
  {
    skuSimple: 'GR678HL017DY0NAFAMZ-4102700',
    title: 'Gree 1.5 Ton Dc Inverter Heat & Cool R-410A Air Conditioner - 18cith11S - Silver'
  },
  {
    skuSimple: '115554341_PK-1267490372',
    title: 'Gree GS-18CITH13M Inverter 1.5 Ton (Wifi) Split Up to 60% Energy Saving'
  },
  {
    skuSimple: '109428468_PK-1259596998',
    title: 'Gree Inverter Air conditioner 2 ton'
  },
  {
    skuSimple: '124818788_PK-1282694870',
    title: 'Gree Inverter Air Conditioner - GS-24CITH11W - Cozy Inverter Series - 02ton - White'
  },
  {
    skuSimple: '3407444_PK-1247135008',
    title: 'Gree 2 Ton Dc Inverter Heat & Cool R-410A Air Conditioner - 24cith11S - Silver'
  },
  {
    skuSimple: '109826799_PK-1260322442',
    title: 'Gree GS-18CITH13M Inverter 1.5 Ton (Wifi) Split Up to 60% Energy Saving'
  },
  {
    skuSimple: '130883483_PK-1290780443',
    title: 'Gree - Inverter Split Air Conditioner - 1.5 Ton'
  },
  {
    skuSimple: '107714050_PK-1256398549',
    title: 'Gree Inverter Air conditioner 1.5 ton'
  },
  {
    skuSimple: 'GR678HL0Q02DENAFAMZ-5098883',
    title: 'GS-18LM4 - Gree Air Conditioner - 1.5 Ton - White'
  },
  {
    skuSimple: 'GR678HL1IIQ8YNAFAMZ-5098768',
    title: 'Gree Gree - GS - 12CITH12G - 1.0 ton - Inverter Air Conditioner - Grey'
  }
]
票数 0
EN

Stack Overflow用户

发布于 2020-02-04 05:15:52

当我使用刮刀器时,我喜欢do块来处理增量/递减。这确保开发人员有意监视和控制增量变量。首先,for循环没有本地化的i

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
let PAGES = 1;
do {
 await page.goto(url, [options]);
 // do whatever you want with scraped page.
PAGES++;
}while (PAGES < 10);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60056913

复制
相关文章
为什么加班的总是你?
“为什么加班的总是你?”其中一个原因就是原始表格不规范。 不规范表格的典型特点 这个原始表格可能是你自己做出来的,可能是别人给你的,也可能是从软件里面导出来的。如果是不规范的表格,而你需要做出相应的数据统计或者数据计算,那你肯定是要加班的,花费的时间也会比你平常的工作量要多。 下图是一张hope 公司销售的明细账。 由销售人员或销售部门的相关人员来进行的统计账。这个表格看上去是不是还不错?而且眼熟的,大多数人作出的表格不就是这样吗? 这边是日期,商品名称,然后是商品在各个型号、种类下的销售的数量,销售的
博文视点Broadview
2022/04/01
6340
为什么加班的总是你?
为什么你的数据分析成果总是难以落地?
为什么你的数据分析成果总是难以落地?数据分析的价值总是远远低于预期?相信看完这篇文章,每个人都能找到一个属于自己的答案。以下为从事电力、军工、金融等行业担任数据分析师从业者的多年行业经验,希望能对大家
IT阅读排行榜
2018/08/17
3010
为什么你的原型总是改?
每个需求产生到以产品的形态呈现大致要走上图的几个步骤,需求的获取、需求的分析前面的文章已经写过怎么做了,这篇主要分享业务流程怎么做,有经验的小伙伴应该都组织或参加过需求评审的会议,与会的人员就是这个项目的相关人员(如 领导、研发、测试、设计等),身为产品我们要提供业务流程图和低保真原型图,并对其进行解释说明并给与会的成员答疑。
靠谱先生
2018/09/10
6560
为什么你的原型总是改?
为什么反派总是死于话多?
你一定会对这样的场景十分熟悉:在电影或者电视剧的高潮部分,最终大BOSS手拿武器对准躺在地上满身是血的主角。他/她/它,(当然)并没有立即终结主角,而是(如你所想地)侃侃而谈:“想当年,我可是……”
用户1756920
2018/07/23
5660
为什么反派总是死于话多?
为什么企业总是很难真正做到“数据驱动决策”?
随着诸多企业数字化转型进入成熟期和收获期,数据的应用也愈发广泛和深入,不仅仅局限于数据的可视化展示,如报表、看板等,更要求可以真正推动业务科学发展,其中“科学决策”成为了关键之一。
永洪数据科学院
2022/06/13
3470
为什么企业总是很难真正做到“数据驱动决策”?
为什么软件总是不靠谱
本文作者:张海龙,CODING 创始人兼 CEO。技术创业者,十多年来一直在技术圈、开发工具领域耕耘, 2014 年创办 CODING ,给企业用户全套 DevOps 研发管理工具,包括项目管理、代码托管、持续集成、制品管理、持续部署,让整个开发过程都可以在浏览器中实现。
腾讯云 CODING
2020/10/10
6160
为什么软件总是不靠谱
为什么高价总是打败低价?
实际上,低价在市场上通常只是扮演着“搅局”的角色,成事不足,败事有余。在对抗性竞争中,高价经常被低价搅得心烦意乱甚至胆战心惊,但低价最终总是难敌高价,甚至在高价面前一败涂地。
用户1756920
2018/07/23
1.3K0
为什么你总是不中奖?
那么,除了那句冷冰冰的“该活动最终解释权归 xxx 公司所有”之外,我们还能否了解更多关于抽奖逻辑的信息呢?答案是肯定的。本文中姬小光将向大家展示,一些基本的概率设置以及可能出现的”潜规则“,就算找客服也可以聊得明明白白。
姬小光
2019/12/19
1.1K0
为什么你总是不中奖?
为什么你的实施调研总是做不好
好的开始,是成功的一半。做为ERP项目的正式开始,实施调研对整个项目顺利推进直至成功至关重要。做好调研并发挥好其至最大功能,顾问方为主导因素,客户方为直接因素。那么,客主双方怎么共同完成高质量的实施调研呢?
matinal
2019/10/30
6090
为什么你的实施调研总是做不好
为什么你的敏捷总是不成功?
这几年,很多公司都在使用敏捷开发,所以现在再去聊“是否敏捷”已经不合适了,更多的是要关注到敏捷的细节讨论、工具化、组织团队、多团队扩展,及其企业级敏捷、数字化转型等更深入的层面。不过近几年,我经常在知乎上看到很多人在说为什么敏捷总是不成功,敏捷很难,敏捷不好,甚至敏捷不适合我,与我无关。这些问题看似简单,实则是一些常见的误区。
敏捷开发
2022/11/18
3390
为什么你的敏捷总是不成功?
为什么第三方数据报告总是不准?
一到年底,就有各种第三方数据报告发布,呈现2018年互联网行业的发展状况,对2019年行业趋势进行洞察,理论上来说,这样的报告对于创业者、投资者、媒体都是重要的参考,也有利于企业了解行业和对手,对数据排名靠前的公司也是一种背书。
罗超频道
2019/07/17
1.3K0
为什么第三方数据报告总是不准?
HashMap 容量为什么总是为 2 的次幂?
HashMap是根据key的hash值决策key放入到哪个桶(bucket)中,通过 tab=[(n - 1) & hash] 公式计算得出,其中tab是一个哈希表。
Java技术栈
2019/12/23
1.8K0
HashMap 容量为什么总是为 2 的次幂?
测试妹子的呐喊:为什么总是收不到推送?
小树最近在开发公司 App 的一个新的功能,需要在用户上线的时候,给关注了她的用户发送一条推送消息。小树很快就完成了开发, 但测试人员却反馈说无法正常接收到推送。这可让小树着急死了,但小树调用的是原来的推送接口,对推送的相关业务并不熟悉。于是小树准备寻求资深工程师小黑的帮助。 苹果推送的沙盒环境 小树描述了以下问题,经验丰富的小黑立刻看出了端倪所在,问小树:是不是忘记设置推送类型为沙箱模式了? 此时的小树一脸茫然,赶紧问:什么是沙箱环境啊? 沙箱环境其实就是测试环境的意思,这是苹果系统习惯性的称呼。为了方
陈树义
2018/04/13
1.4K0
测试妹子的呐喊:为什么总是收不到推送?
为什么现在面试总是面试造火箭?
很多人总是抱怨面试官问一些平时不常用的知识点,比如算法呀,网络(TCP)等等,也就是大家常说的:面试造火箭,工作拧螺丝。
桃翁
2019/04/09
6270
为什么现在面试总是面试造火箭?
深度揭密:为什么别人总是准时下班,而你却总是疯狂 996
在生活节奏越来越快的今天,无论任何行业,每个人都必定承担着各种巨大的压力。而对于我们从事 IT 行业的小伙伴来说,压力也许会更大一些,必定互联网行业可以说是日新月异的。那我们怎么才能在这个竞争激烈的时代,始终屹立时代潮头,保持长盛不衰呢?
iMike
2019/10/24
6160
深度揭密:为什么别人总是准时下班,而你却总是疯狂 996
为什么你的原型总是改-页面流程篇
首先:上文中提到过业务流程图是从产品视角来看产品或功能,交互原型图是以用户的视角来看产品或功能,从这点上划分页面流程图也是以用户的视角来看产品或功能。
靠谱先生
2018/09/10
9020
为什么你的原型总是改-页面流程篇
为什么一些SEO总是事与愿违?
我们做SEO的目的都是通过排名获取流量,而不同的是获取流量后怎么转化,但做SEO的过程中总是有一些事情与seoer的想法事与愿违,通常我们认为出现事与愿违往往是我们的一些细节工作没有做好,而导致的。
蝙蝠侠IT
2021/05/18
3030
为什么一些SEO总是事与愿违?
业界 | Nature:AI为什么总是歧视重重?
当使用谷歌翻译将西班牙语的新闻翻译为英语时,涉及到女性的短语通常都会翻译为“他说”或“他写道”。
大数据文摘
2018/08/21
5020
业界 | Nature:AI为什么总是歧视重重?
信安 | 红包踩雷,为什么输的总是你?
有网友在腾讯举报中心公众号留言——“我在微信群里玩抢红包游戏,莫名其妙被举报为赌博,究竟是为啥?” 小助手:Excuse me 这位网友,你确定你真的只是单纯的抢红包而不是参与红包赌博?那我可要好好跟你科普一下抢红包和红包赌博的区别了。若抢红包游戏只是亲友间互发红包、不涉及到营利的,不违法。判断“抢红包”是不是赌博,关键就看组织者是否从中营利。按照《刑法》规定,以营利为目的的聚众赌博或以赌博为业开设赌场的,都将构成犯罪。其群主的行为就等同于开赌场,属于犯罪行为,群成员“抢红包”也是涉赌的违法行为,要受到治
腾讯技术工程官方号
2018/03/01
2.7K0
信安 | 红包踩雷,为什么输的总是你?
为什么程序员总是发现不了自己的Bug?
程序员在普通人的印象里是一份严(ku)谨(bi)的职业,也是一个被搞怪吐槽乐此不疲的职业,程序员们面对复杂的代码敲打电脑时连眉头都不会皱一下,但是有一个词却是他们痛苦的根源,它就是Bug。
老九君
2018/12/19
7930
为什么程序员总是发现不了自己的Bug?

相似问题

木偶师总是抱怨铬

13

木偶师“等待导航”总是返回超时

15

木偶师给出未定义的$$eval

12

镀铬延伸中的木偶师,没有木偶师-网

14

木偶师- UnhandledPromiseRejectionWarning

21
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文