1-1 起步

  1. const puppeteer = require('puppeteer');
  2. (async () => {
  3. /* 1.新建一个浏览器的实例 */
  4. const browser = await puppeteer.launch({
  5. headless:false
  6. });
  7. /* 2.新建一个页面 */
  8. const page = await browser.newPage();
  9. /* 3.到达某个页面 */
  10. await page.goto('http://www.kuwo.cn/search/list?key=你');
  11. /* 4.在页面停顿3s */
  12. await page.waitForTimeout(5000)
  13. /* 5.截图 */
  14. await page.screenshot({path: 'example.png'});
  15. /* 6.关闭浏览器 */
  16. await browser.close();
  17. })();

1-2 抓取数据

  1. const puppeteer = require('puppeteer');
  2. const cheerio = require("cheerio");
  3. (async () => {
  4. const browser = await puppeteer.launch({
  5. headless:false,
  6. defaultViewport:null
  7. });
  8. const page = await browser.newPage();
  9. await page.goto('http://www.kuwo.cn/search/list?key=你');
  10. await page.waitForTimeout(3000)
  11. var content = await page.content();
  12. var $ = cheerio.load(content,{
  13. decodeEntities:false
  14. })
  15. var item = $(".song_item")
  16. var arr = []
  17. item.each((index,value)=>{
  18. var title = $(value).find(".song_name a").html();
  19. arr.push({
  20. title
  21. })
  22. })
  23. console.log(arr)
  24. await browser.close();
  25. })();

1-3 evaluate

  1. const puppeteer = require('puppeteer');
  2. (async () => {
  3. /* 1.新建一个浏览器的实例 */
  4. const browser = await puppeteer.launch({
  5. headless:false,
  6. defaultViewport:null
  7. });
  8. /* 2.新建一个页面 */
  9. const page = await browser.newPage();
  10. /* 3.到达某个页面 */
  11. await page.goto('https://movie.douban.com/top250');
  12. /* 4.在页面停顿3s */
  13. await page.waitForTimeout(1000)
  14. /* 5.evaluate可以获取页面内容 */
  15. var res = await page.evaluate(()=>{
  16. var $ = window.jQuery;
  17. var content = $("#content h1").html();
  18. return content
  19. })
  20. console.log(res)
  21. await browser.close();
  22. })();

1-4 原生的也是可以抓

  1. const puppeteer = require('puppeteer');
  2. (async () => {
  3. /* 1.新建一个浏览器的实例 */
  4. const browser = await puppeteer.launch({
  5. headless:false,
  6. defaultViewport:null
  7. });
  8. /* 2.新建一个页面 */
  9. const page = await browser.newPage();
  10. /* 3.到达某个页面 */
  11. await page.goto('https://movie.douban.com/top250');
  12. /* 4.在页面停顿3s */
  13. await page.waitForTimeout(1000)
  14. /* 5.evaluate可以获取页面内容 */
  15. var res = await page.evaluate(()=>{
  16. var content = document.getElementById("content").getElementsByTagName("h1")[0].innerHTML;
  17. return content
  18. })
  19. console.log(res)
  20. await browser.close();
  21. })();
  22. 1-5