小编Emr*_*Gnl的帖子

使用 Puppeteer 抓取 Google 地图搜索结果链接

这就是我想刮的。

我在“www.google.com/maps”中输入搜索查询,例如“芝加哥花店”。当芝加哥​​的所有花店在谷歌地图结果上列出时,我想将日志[商店名称]和[商店链接,例如href链接]作为数组进行控制台。

我用于puppeteer.js这个项目。我的代码能够打开 Chromium 输入我的搜索查询并输入以获取商店列表。但是,我无法仅控制台记录商店名称和链接。这是我的代码。基本上,我认为我很难找到正确的 css 选择器。

如果您能提供帮助,我会很高兴。这是我的代码

const puppeteer = require('puppeteer');
const xlsx = require("xlsx");

// Get the data
async function getPageData (url,page) {

  await page.goto(url);
 
  //Shop Name
  await page.waitForSelector(".x3AX1-LfntMc-header-title-title span");
  const shopName = await page.$eval(".x3AX1-LfntMc-header-title-title span", span => span.textContent);
  
  //Shop Address
  await page.waitForSelector(".QSFF4-text.gm2-body-2:nth-child(1)");
  const address = await page.$eval(".QSFF4-text.gm2-body-2:nth-child(1)", address => address.textContent);
  
  //Website
  await page.waitForSelector(".HY5zDd");
  const website = await page.$eval(".HY5zDd", website => website.innerText);

  return {
      shop: shopName,
      address: address,
      website: website
  }


  //await browser.close();
};

//Get Links …
Run Code Online (Sandbox Code Playgroud)

node.js web-scraping puppeteer

2
推荐指数
1
解决办法
3628
查看次数

标签 统计

node.js ×1

puppeteer ×1

web-scraping ×1