小编atu*_*ola的帖子

使用 puppeteer 绕过 Cloudflare

我正在尝试使用 puppeteer 抓取某个网站的一些初创公司数据,当我尝试导航到下一页时,cloudflare 等待屏幕出现并中断抓取。我尝试更改IP,但还是一样。有没有办法用 puppeteer 绕过它。

(async () => {

  const browser = await puppeteer.launch({
    headless: false,
    defaultViewport: null,
  });

  const page = await browser.newPage();

  page.setDefaultNavigationTimeout(0);

  let links = [];

  // initial page

  await page.goto(`https://www.startupranking.com/top/india`, {
    waitUntil: "networkidle0",
  });

  // looping through the url to different pages

  for (let i = 2; i <= 7; i++) {
    if (i === 3) {
      console.log("waiting");

      await page.waitFor(20000);

      console.log("waited");
    }

    const onPageLinks = await page.$$eval("tr .name a", (arr) =>
      arr.map((cur) => cur.href)
    ); …
Run Code Online (Sandbox Code Playgroud)

captcha bots cloudflare google-chrome-headless puppeteer

8
推荐指数
0
解决办法
2万
查看次数

如何通过javascript获取FB帖子链接?

我正在尝试制作一个 chrome 扩展,它需要我收集帖子链接。但收集链接的问题在于,它可以在 FB 在每个帖子上提供的时间戳上的锚标记上找到。

在此输入图像描述

但是当您将鼠标悬停在元素上时,锚标记的 href 会动态填充。我尝试在元素上调度 amouseovermouseenter事件,但 href 仍未填充。

我的职能:

const hoverOverTag =  (element) => {
  var event = new Event('mouseover', {
  'view': window,
  'bubbles': true,
  'cancelable': true
});


element.addEventListener('mouseover', function(e) {
     console.log("hover");
     console.log(e);
});

 element.dispatchEvent(event);

}
Run Code Online (Sandbox Code Playgroud)

事件侦听器正确运行并记录事件。但仍然没有填充 href。我在内容脚本中运行它,有什么方法可以获取帖子链接吗?

javascript google-chrome-extension

3
推荐指数
1
解决办法
1230
查看次数