自动化采集公众号文章结构,querylist助你快速高效

优采云 发布时间: 2023-03-22 06:20

  微信公众号是许多企业和个人进行宣传、推广的重要平台,而如何快速有效地采集公众号文章成为了一个问题。本文将介绍一种名为querylist的工具,通过分析公众号文章页面结构,实现自动化采集。具体内容如下:

  一、querylist简介

  querylist是一个基于phpQuery和Requests库的PHP爬虫框架,能够方便地进行网页数据抓取和处理。它能够根据CSS选择器或XPath表达式获取网页中的数据,并支持自定义回调函数进行数据处理。

  二、安装与配置

  在使用querylist之前,需要先安装php和composer。然后在命令行中执行以下命令进行安装:

  

  

composer require jaeger/querylist

  安装完成后,在代码中引入autoload.php文件即可开始使用。

  三、获取微信公众号文章列表

  通过分析微信公众号文章列表页面结构,可以发现每篇文章都包含以下信息:标题、发布时间、阅读量、点赞量、文章链接等。可以通过以下代码获取某个公众号最新的10篇文章:

  

  

use QL\QueryList;

$url ='https://mp.weixin.qq.com/mp/profile_ext?action=home&__biz=MzIyMDM4NTYwOA==&scene=124#wechat_redirect';

$html = file_get_contents($url);

$ql = QueryList::html($html);

$articles =$ql->find('.weui_media_bd')->map(function($item){

$title =$item->find('.weui_media_title')->text();

$time = strtotime($item->find('.weui_media_extra_info')->text());

$read_num = intval($item->find('.js_read_num')->text());

$like_num = intval($item->find('.js_like_num')->text());

$link ='https://mp.weixin.qq.com'.$item->find('a')->attr('href');

return compact('title','time','read_num','like_num','link');

})->toArray();

print_r($articles);

  四、获取微信公众号文章内容

  通过以上代码获取到每篇文章的链接后,可以继续使用querylist来获取文章正文内容。需要注意的是,由于微信公众号会对非法请求做出限制,因此需要设置User-Agent和Referer头信息以模拟浏览器请求。

  

use QL\QueryList;

$url ='https://mp.weixin.qq.com/s?__biz=MzIyMDM4NTYwOA==&mid=2247488838&idx=1&sn=a9b9e7c3a3d3d6b2e1f60a0b28c8f5d6&chksm=e8827e24dff5f732a6a5a0dcfc7cac2d1e16f63d9f55c9c57e2d4cc4cad4f0b67f4b7cc8be59#rd';

$headers =[

'User-Agent'=>'Mozilla/5.0(Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3',

'Referer'=>'https://mp.weixin.qq.com/'

];

$html = requests::get($url, null,$headers)->body;

$ql = QueryList::html($html);

$content =$ql->find('#js_content')->html();

echo $content;

  

  五、其他注意事项

  1. querylist默认使用file_get_contents函数获取网页内容,如果需要使用curl或者其他方式,请查看官方文档;

  2.如果需要大量采集数据,建议使用代理池以避免被封禁;

  3.使用querylist采集数据时,请遵守相关法律法规。

  总结:

  本文介绍了一种利用querylist采集微信公众号文章的方法,并提供了相应代码实现。除此之外,还介绍了querylist的基本用法和注意事项。希望本文能够对大家有所帮助。优采云提供SEO优化服务,欢迎访问www.ucaiyun.com了解更多详情。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线