内容分享:如何通过程序自动抓取微信公众号文章的内容和视频

优采云 发布时间: 2022-12-16 22:09

  内容分享:如何通过程序自动抓取微信公众号文章的内容和视频

  如何下载微信公众号文章中的视频

  如果只是针对一个文章,就很简单了。复制文章的地址,在谷歌浏览器中打开,然后点击视频右下角的全屏,点击右下角的圆点,点击下载。能。

  当然你也可以通过F12查看视频标签或者查看网络数据请求。

  这是一些基本的操作。下面主要是通过puppeteer获取和下载视频。

  我之前其实通过puppeteer做过很多事情,比如登录,签到等等。因为总体没什么技术含量,主要是做个铺垫,后续研究如何抓取所有公众号。文章。

  编码

  const puppeteer = require('puppeteer'); const path = require('路径'); const fs = require('fs'); const helper = require('think-helper');//创建目录 api const axios = require('axios'); const 文件夹 = __目录名;

  让 url = ; // 让 url = ;

  function wsf(rs,ws){ return new Promise((r,j)=>{ rs.pipe(ws); ws.on('close',e=>{ r(); }) }); }

  (异步函数(){

  let browser = await puppeteer.launch({

headless : true,

executablePath : 'C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe'

});

console.log(`开启新页面:[${url}]`);

const page = await browser.newPage();

let asyncArr = [];

page.on('response',async (res)=>{

try{

let json = await res.json();//

if(json && json.url_info){

console.log(`获取到异步视频数据.`);

asyncArr = asyncArr.concat(json.url_info);

}

}catch(e){}

})

console.log(`等待页面数据请求加载完成。`)

await page.goto(url,{

waitUntil : 'networkidle2'//请求结束

});

//url

let videoArr = await page.evaluate(()=>{

return $('video').get().map(t=>{

return $(t).attr('src');

})

});

//获取公众号信息

let name = await page.evaluate(()=>{

return $('.account_nickname_inner').length > 0 ? $('.account_nickname_inner').text() : $('.rich_media_meta_nickname #js_name').text();

});

<p>

let title = await page.evaluate(()=>{

return $(&#39;.common_share_title&#39;).length > 0 ? $(&#39;.common_share_title&#39;).text() : $(&#39;.rich_media_title&#39;).text();

});

name = name.trim();

title = title.trim();

console.log(`获取到公众号信息:[${name}-${title}]`)

//创建目录

let folderPath = path.join(folder,name,title);

helper.mkdir(folderPath);//创建目录

//对视频做处理。

let vr = [];

vr =vr.concat(videoArr.map(t=>{

let u = new URL(t);

let fileName = title+path.extname(u.pathname);

let filePath = path.join(folderPath,fileName);

return {

title : fileName,

filePath : filePath,

url : t

}

}));

vr = vr.concat(asyncArr.map(t=>{

let u = new URL(t.url);

let fileName = t.video_quality_wording +&#39;-&#39;+ title+path.extname(u.pathname);

let filePath = path.join(folderPath,fileName);

return {

title : fileName,

filePath : filePath,

url : t.url

}

}));

console.log(`开始准备下载视频文件`);

for(let video of vr){

console.log(`开始下载视频:[${video.title}]`)

await axios.get(video.url,{

responseType : &#39;stream&#39;

}).then(async rs=>{

await wsf(rs.data,fs.createWriteStream(video.filePath));

})

  

}

//将页面滚动到最底部

await page.evaluate(()=>{

$(&#39;html&#39;).get(0).scrollTop = $(&#39;html&#39;).get(0).scrollHeight

});

console.log(&#39;等待资源加载.....&#39;)

// await page.evaluate(function(){

// let timeLimit = 60 * 1000;

// return new Promise((r,j)=>{

// let isLoaded = true;

// let start = +new Date();

// let t = setInterval(function(){

// $(&#39;img&#39;).get().forEach(t=>{

// var img = $(t).attr(&#39;src&#39;);

// var pimg = $(t).data(&#39;src&#39;);

// if(img.indexOf(pimg) > -1){

// isLoaded = isLoaded && true;

// }else{

// isLoaded = isLoaded && false;

// }

// })

// if(isLoaded || (+new Date()) - start > timeLimit){

// clearInterval(t);

// r();

// }

// },500);

// })

// });

//pdf

console.log(`保存文章到PDF`)

await page.pdf({

path : path.join(folder,name,title,title+&#39;.pdf&#39;),

format : &#39;A4&#39;,

printBackground : true

});

console.log(`关闭浏览器`);

await browser.close();

process.exit(0);</p>

  })(); 比较容易。不过,我也遇到了一个问题,就是资源懒加载的问题。

  分享文章:seo怎么伪原创文章(seo中伪原创是否可取)

  阅读本文的提示: 伪原创 是 seo 中的理想选择,seo 伪原创文章 作者,如何编写 seo 伪原创

  如何SEO 伪原创文章 首先,搜索引擎的分析取决于你的内容布局。我建议您在核心关键字之前添加关键字。

  如果不写合集,可以复制几篇文章的文章,拼成一个文章,这样文章就不会是收录了。其次,关键字嵌入是SEO中非常重要的因素。写文章时,需要匹配关键字。我们不能盲目地写大量的关键字。我们平时找了很多关键词写文章,但是别人搜索的时候可能有很多信息,需要搜索你选择的关键词。

  

  当然不能用correlation和correlation代替的时候理解,这个大家可以理解。搜索引擎更喜欢相关的内容而不是你自己的内容,所以你不能只写一些不相关的内容。最后,我们在写SEO文章的时候,要注意内容的相关性。相关性不仅仅意味着 文章 的相关性,还包括相关内容。相关性决定链接是否正确,并为用户提供相关信息。

  你写的时候能不能读懂整个内容的相关性,能不能给用户提供相关性。如果你没有这个能力,你就写不出高质量的内容,这需要对内容进行透彻的研究,并计划尽可能少地使用相关内容。如果您不熟悉,可以请我们的网站开发人员帮忙编写。写内容,用户会不会帮你搭建个人社交平台而不是复制网站到你的网站。

  1.原创的内容

  搜索引擎喜欢原创内容,我们在写内容的时候也要考虑原创内容。如果你不知道用户需要什么,你怎么能写产品 软文 以及它会带来什么好处。以下是创建高质量内容的四种主要方法。

  

  2、广告的合理插播

  同一个网站,不同的用户对你的产品有不同的要求。

  3、当然交换链接的时候一定要注意广告。这很容易被搜索引擎认为是作弊,尤其是在初级搜索引擎中,这会让你更加混乱。

  4. 不要在网站广告中插入广告

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线