您现在的位置是:网站首页> 多媒体开发
获得抖音作者作品
- 多媒体开发
- 2021-07-06
- 746人已阅读
摘要
为避免出现排版错乱,可更具实际情况添加站位字符,分享客户主页信息通过puppeteer获得,利用chrome的nodejs 交互插件实现对浏览器的控制
代码如下
const puppeteer = require('puppeteer'); const devices = require('puppeteer/DeviceDescriptors'); const iPhone = devices['iPhone 6']; function returnCrawler(result){ console.log("####"+JSON.stringify(result)+"####"); } (async () => { const browser = await puppeteer.launch({ executablePath: '../chrome-win/chrome.exe', /* args: [ '--disable-web-security', // 允许跨域 '--proxy-server=127.0.0.1:1080', // 代理 ] */ args: [ '--disable-images', // 允许跨域 ], headless: false }); console.log(process.argv); const page = await browser.newPage(); // 设置浏览器视窗 /*); page.setViewport({ width: 1920, height: 1080, }); */ await page.emulate(iPhone); //await page.goto('https://m.toutiaoimg.com/item/6706038150935888391/?app=news_article_lite×tamp=1563929593&req_id=20190724085313010152028146551F0B7&group_id=6706038150935888391'); //await page.goto("http://m.gifshow.com/s/U6kK7y0Q"); await page.goto(process.argv[2]); await page .mainFrame() .addScriptTag({ url: 'https://cdn.bootcss.com/jquery/3.2.0/jquery.min.js' }); //await page.waitFor(2000); var allUrl=""; //await page.setRequestInterception(true); //开启请求拦截 page.on('requestfinished', request => { // 查看所有请求地址 let ajaxurl=request.url(); console.log("requestfinished1:"+ajaxurl); if(ajaxurl.indexOf("https://www.iesdouyin.com/web/api/v2/aweme/post/")!=-1) { allUrl=ajaxurl; console.log("allUrl:"+allUrl); } // ajax if (request.resourceType == "xhr") { // 匹配所需数据的请求地址 allUrl+=request.url()+";"; console.log("requestfinished2:"+request.url()); } }); const result = await page.evaluate((allUrl) => { console.log("加载完毕1"); var m_ReturnOBJ={}; m_ReturnOBJ.ajax=allUrl; console.log("加载完毕2"); return m_ReturnOBJ; },allUrl); page.click('div[data-type="post"]'); //等待三秒 console.log("等待5秒"); //await delay(3000); setTimeout(function(){ console.log("关闭浏览器1"); result.ajax=allUrl; returnCrawler(result); //await page.screenshot({path: 'jd.png'}); console.log("关闭浏览器2"); browser.close(); },5000); })();
其中count=21就是取多少数据max_cursor=上次最大的cursor
返回数格式如
上一篇:OpenCV 编程技术收集