怎样用phantomjs 实现在百度首页搜索一个关键字,然后爬取搜索结果页面的内容?

发布于 2022-09-06 01:03:46 字数 13 浏览 14 评论 0

求高手相助。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

岁吢 2022-09-13 01:03:46

谢邀,楼主既然用node,那就没必要使用phantomjs了,它已经不维护了,使用ChromeHeadless即可。
需要安装两个依赖

yarn add puppeteer cheerio

代码如下

const puppeteer = require('puppeteer');
const cheerio = require('cheerio');

(async () => {
  const browser = await puppeteer.launch();
  const page = await browser.newPage();
  await page.goto('https://www.baidu.com/s?wd=segmentfault');
  const content = await page.content();

  const $ = cheerio.load(content, { decodeEntities: false });
  $('.result.c-container').each((index, el) => {
    console.log(
      $(el)
        .find('h3 a')
        .text()
    );
  });

  await browser.close();
})();

运行结果

SegmentFault
关于我们 - SegmentFault
【译】MVC 在前端已死? - leozdgao - SegmentFault
segmentfault - SF的创建团队和背后的故事? - SegmentFault
推荐的文章 - SegmentFault
SegmentFault - 杭州堆栈科技有限公司 - SegmentFault
为什么我们选择 segmentfault 写作? - 前沿开发团队 - SegmentFault
App 下载 - SegmentFault
segmentfault - 文章 - SegmentFault
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文