微信开发

微信开发

PHP开发-微信公众号文章采集原理及思路

采集交流优采云 发表了文章 • 0 个评论 • 563 次浏览 • 2020-06-22 08:03 • 来自相关话题

  
  之前有发布一篇文章,简单写了一下文章内容页面的爬取。近日又写了一下爬取文章列表,可用于采集公众号文章。
  在搜索引擎上搜:搜狗陌陌文章爬取
  可发觉一大堆借助了 搜狗 的陌陌搜索功能去爬取并采集微信公众号文章的内容。
  也可以发觉,都是用 Python 写的。而本文一直采用 PHP 编写以达到同样疗效,文章仅讲解爬取原理及思路,用于学习研究。
  打开 搜狗 可以随意输入一个关键词搜索公众号文章。
  
  此时注意看 URL 地址栏
  https://weixin.sogou.com/weixi ... e_%3D
  简单剖析下 URL 参数。
  参数 type 是定义搜索类型,为 1 时搜索的是公众号,为 2 就是公众号文章。
  参数 query 是定义搜索关键词微信文章采集 php,注意是经过 URL 编码的。
  另外还有一个 page 参数,由于搜索进来没有翻页 所以这个参数没显示下来。需要晓得这个参数是拿来翻页即可。
  知道 URL 的规则后,就可以进行拼接 URL 进行文章列表采集了,具体代码实现 可参考之前的博文:
  其实无非就是循环列表的 div 标签收集到文章的标题、描述、公众号名称。然后执行完了下一页的时侯可在原 page 参数值上加一。
  到目前为止还没哪些技术难点,因为列表的采集没很强的反爬虫,当然 如果执行频度很高才会触发反爬虫机制。所以这个频度要控制好。
  触发反爬虫以后:
  
  之前的博文中是采集文章内容,但是并没有遇见反爬虫机制,此处的列表页是有反爬虫机制的。爬取列表页须要加上 UA 伪造。可参考下边代码:
  $ua = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.132 Safari/537.36';
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, '列表页地址');
curl_setopt($curl, CURLOPT_USERAGENT, $ua);
//curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_exec($curl);
curl_close($curl);
  爬取到该列表的 HTML 代码然后,请求中会有一段 COOKIE,需要将这段 COOKIE 保存出来。然后采集到的 a 标签的 href 值,是须要携带 COOKIE 进行恳求的,爬取频度很高都会封禁 IP 及 COOKIE。
  
  所以本文的做法是不采集 href 属性,而是 data-share 属性,采集之后就挺好操作了,和先前的博文几乎一致的操作。
  
  频率很高太可能还会被封禁 IP,所以还尝试了使用 IP 代理
  使用 IP 代理的方式也很简单,由于这是免费的 IP 代理服务 所以可能随时就会难以联接。解决方式是 先爬取这个站点的 IP 代理,爬取出来执行一次 CURL 看看能不能连上,如果连上就保存上去。
  一个简单的 CURL 加代理 DEMO:
  $ua = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.132 Safari/537.36';
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, '文章内容页');
curl_setopt($curl, CURLOPT_USERAGENT, $ua);
//curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($curl, CURLOPT_COOKIE, '这里可放cookie');
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($curl,CURLOPT_PROXY,'代理 IP');
curl_setopt($curl,CURLOPT_PROXYPORT,'端口');
curl_setopt ($curl, CURLOPT_TIMEOUT, 100);
curl_exec($curl);
curl_getinfo($curl); //可获取请求信息
curl_close($curl);
  爬取到了 HTML 后,可使用 PHP Simple HTML DOM Parser 或者 QueryList 进行解析 HTML。
  解析 HTML 获取到须要的内容就可以保存到数据库了。
  经过处理后的疗效(已经可展示在自己的 H5 网页):
  
  此时早已可以完成借助搜狗爬取微信公众号文章。还有一些网站不写原创文章微信文章采集 php,使用爬虫四处爬文章发布也是同样的原理。
  最后还是说一句,本文仅供学习与研究。 查看全部

  
  之前有发布一篇文章,简单写了一下文章内容页面的爬取。近日又写了一下爬取文章列表,可用于采集公众号文章。
  在搜索引擎上搜:搜狗陌陌文章爬取
  可发觉一大堆借助了 搜狗 的陌陌搜索功能去爬取并采集微信公众号文章的内容。
  也可以发觉,都是用 Python 写的。而本文一直采用 PHP 编写以达到同样疗效,文章仅讲解爬取原理及思路,用于学习研究。
  打开 搜狗 可以随意输入一个关键词搜索公众号文章。
  
  此时注意看 URL 地址栏
  https://weixin.sogou.com/weixi ... e_%3D
  简单剖析下 URL 参数。
  参数 type 是定义搜索类型,为 1 时搜索的是公众号,为 2 就是公众号文章。
  参数 query 是定义搜索关键词微信文章采集 php,注意是经过 URL 编码的。
  另外还有一个 page 参数,由于搜索进来没有翻页 所以这个参数没显示下来。需要晓得这个参数是拿来翻页即可。
  知道 URL 的规则后,就可以进行拼接 URL 进行文章列表采集了,具体代码实现 可参考之前的博文:
  其实无非就是循环列表的 div 标签收集到文章的标题、描述、公众号名称。然后执行完了下一页的时侯可在原 page 参数值上加一。
  到目前为止还没哪些技术难点,因为列表的采集没很强的反爬虫,当然 如果执行频度很高才会触发反爬虫机制。所以这个频度要控制好。
  触发反爬虫以后:
  
  之前的博文中是采集文章内容,但是并没有遇见反爬虫机制,此处的列表页是有反爬虫机制的。爬取列表页须要加上 UA 伪造。可参考下边代码:
  $ua = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.132 Safari/537.36';
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, '列表页地址');
curl_setopt($curl, CURLOPT_USERAGENT, $ua);
//curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_exec($curl);
curl_close($curl);
  爬取到该列表的 HTML 代码然后,请求中会有一段 COOKIE,需要将这段 COOKIE 保存出来。然后采集到的 a 标签的 href 值,是须要携带 COOKIE 进行恳求的,爬取频度很高都会封禁 IP 及 COOKIE。
  
  所以本文的做法是不采集 href 属性,而是 data-share 属性,采集之后就挺好操作了,和先前的博文几乎一致的操作。
  
  频率很高太可能还会被封禁 IP,所以还尝试了使用 IP 代理
  使用 IP 代理的方式也很简单,由于这是免费的 IP 代理服务 所以可能随时就会难以联接。解决方式是 先爬取这个站点的 IP 代理,爬取出来执行一次 CURL 看看能不能连上,如果连上就保存上去。
  一个简单的 CURL 加代理 DEMO:
  $ua = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.132 Safari/537.36';
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, '文章内容页');
curl_setopt($curl, CURLOPT_USERAGENT, $ua);
//curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($curl, CURLOPT_COOKIE, '这里可放cookie');
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($curl,CURLOPT_PROXY,'代理 IP');
curl_setopt($curl,CURLOPT_PROXYPORT,'端口');
curl_setopt ($curl, CURLOPT_TIMEOUT, 100);
curl_exec($curl);
curl_getinfo($curl); //可获取请求信息
curl_close($curl);
  爬取到了 HTML 后,可使用 PHP Simple HTML DOM Parser 或者 QueryList 进行解析 HTML。
  解析 HTML 获取到须要的内容就可以保存到数据库了。
  经过处理后的疗效(已经可展示在自己的 H5 网页):
  
  此时早已可以完成借助搜狗爬取微信公众号文章。还有一些网站不写原创文章微信文章采集 php,使用爬虫四处爬文章发布也是同样的原理。
  最后还是说一句,本文仅供学习与研究。

PHP开发-微信公众号文章采集原理及思路

采集交流优采云 发表了文章 • 0 个评论 • 563 次浏览 • 2020-06-22 08:03 • 来自相关话题

  
  之前有发布一篇文章,简单写了一下文章内容页面的爬取。近日又写了一下爬取文章列表,可用于采集公众号文章。
  在搜索引擎上搜:搜狗陌陌文章爬取
  可发觉一大堆借助了 搜狗 的陌陌搜索功能去爬取并采集微信公众号文章的内容。
  也可以发觉,都是用 Python 写的。而本文一直采用 PHP 编写以达到同样疗效,文章仅讲解爬取原理及思路,用于学习研究。
  打开 搜狗 可以随意输入一个关键词搜索公众号文章。
  
  此时注意看 URL 地址栏
  https://weixin.sogou.com/weixi ... e_%3D
  简单剖析下 URL 参数。
  参数 type 是定义搜索类型,为 1 时搜索的是公众号,为 2 就是公众号文章。
  参数 query 是定义搜索关键词微信文章采集 php,注意是经过 URL 编码的。
  另外还有一个 page 参数,由于搜索进来没有翻页 所以这个参数没显示下来。需要晓得这个参数是拿来翻页即可。
  知道 URL 的规则后,就可以进行拼接 URL 进行文章列表采集了,具体代码实现 可参考之前的博文:
  其实无非就是循环列表的 div 标签收集到文章的标题、描述、公众号名称。然后执行完了下一页的时侯可在原 page 参数值上加一。
  到目前为止还没哪些技术难点,因为列表的采集没很强的反爬虫,当然 如果执行频度很高才会触发反爬虫机制。所以这个频度要控制好。
  触发反爬虫以后:
  
  之前的博文中是采集文章内容,但是并没有遇见反爬虫机制,此处的列表页是有反爬虫机制的。爬取列表页须要加上 UA 伪造。可参考下边代码:
  $ua = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.132 Safari/537.36';
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, '列表页地址');
curl_setopt($curl, CURLOPT_USERAGENT, $ua);
//curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_exec($curl);
curl_close($curl);
  爬取到该列表的 HTML 代码然后,请求中会有一段 COOKIE,需要将这段 COOKIE 保存出来。然后采集到的 a 标签的 href 值,是须要携带 COOKIE 进行恳求的,爬取频度很高都会封禁 IP 及 COOKIE。
  
  所以本文的做法是不采集 href 属性,而是 data-share 属性,采集之后就挺好操作了,和先前的博文几乎一致的操作。
  
  频率很高太可能还会被封禁 IP,所以还尝试了使用 IP 代理
  使用 IP 代理的方式也很简单,由于这是免费的 IP 代理服务 所以可能随时就会难以联接。解决方式是 先爬取这个站点的 IP 代理,爬取出来执行一次 CURL 看看能不能连上,如果连上就保存上去。
  一个简单的 CURL 加代理 DEMO:
  $ua = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.132 Safari/537.36';
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, '文章内容页');
curl_setopt($curl, CURLOPT_USERAGENT, $ua);
//curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($curl, CURLOPT_COOKIE, '这里可放cookie');
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($curl,CURLOPT_PROXY,'代理 IP');
curl_setopt($curl,CURLOPT_PROXYPORT,'端口');
curl_setopt ($curl, CURLOPT_TIMEOUT, 100);
curl_exec($curl);
curl_getinfo($curl); //可获取请求信息
curl_close($curl);
  爬取到了 HTML 后,可使用 PHP Simple HTML DOM Parser 或者 QueryList 进行解析 HTML。
  解析 HTML 获取到须要的内容就可以保存到数据库了。
  经过处理后的疗效(已经可展示在自己的 H5 网页):
  
  此时早已可以完成借助搜狗爬取微信公众号文章。还有一些网站不写原创文章微信文章采集 php,使用爬虫四处爬文章发布也是同样的原理。
  最后还是说一句,本文仅供学习与研究。 查看全部

  
  之前有发布一篇文章,简单写了一下文章内容页面的爬取。近日又写了一下爬取文章列表,可用于采集公众号文章。
  在搜索引擎上搜:搜狗陌陌文章爬取
  可发觉一大堆借助了 搜狗 的陌陌搜索功能去爬取并采集微信公众号文章的内容。
  也可以发觉,都是用 Python 写的。而本文一直采用 PHP 编写以达到同样疗效,文章仅讲解爬取原理及思路,用于学习研究。
  打开 搜狗 可以随意输入一个关键词搜索公众号文章。
  
  此时注意看 URL 地址栏
  https://weixin.sogou.com/weixi ... e_%3D
  简单剖析下 URL 参数。
  参数 type 是定义搜索类型,为 1 时搜索的是公众号,为 2 就是公众号文章。
  参数 query 是定义搜索关键词微信文章采集 php,注意是经过 URL 编码的。
  另外还有一个 page 参数,由于搜索进来没有翻页 所以这个参数没显示下来。需要晓得这个参数是拿来翻页即可。
  知道 URL 的规则后,就可以进行拼接 URL 进行文章列表采集了,具体代码实现 可参考之前的博文:
  其实无非就是循环列表的 div 标签收集到文章的标题、描述、公众号名称。然后执行完了下一页的时侯可在原 page 参数值上加一。
  到目前为止还没哪些技术难点,因为列表的采集没很强的反爬虫,当然 如果执行频度很高才会触发反爬虫机制。所以这个频度要控制好。
  触发反爬虫以后:
  
  之前的博文中是采集文章内容,但是并没有遇见反爬虫机制,此处的列表页是有反爬虫机制的。爬取列表页须要加上 UA 伪造。可参考下边代码:
  $ua = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.132 Safari/537.36';
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, '列表页地址');
curl_setopt($curl, CURLOPT_USERAGENT, $ua);
//curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_exec($curl);
curl_close($curl);
  爬取到该列表的 HTML 代码然后,请求中会有一段 COOKIE,需要将这段 COOKIE 保存出来。然后采集到的 a 标签的 href 值,是须要携带 COOKIE 进行恳求的,爬取频度很高都会封禁 IP 及 COOKIE。
  
  所以本文的做法是不采集 href 属性,而是 data-share 属性,采集之后就挺好操作了,和先前的博文几乎一致的操作。
  
  频率很高太可能还会被封禁 IP,所以还尝试了使用 IP 代理
  使用 IP 代理的方式也很简单,由于这是免费的 IP 代理服务 所以可能随时就会难以联接。解决方式是 先爬取这个站点的 IP 代理,爬取出来执行一次 CURL 看看能不能连上,如果连上就保存上去。
  一个简单的 CURL 加代理 DEMO:
  $ua = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.132 Safari/537.36';
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, '文章内容页');
curl_setopt($curl, CURLOPT_USERAGENT, $ua);
//curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($curl, CURLOPT_COOKIE, '这里可放cookie');
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($curl,CURLOPT_PROXY,'代理 IP');
curl_setopt($curl,CURLOPT_PROXYPORT,'端口');
curl_setopt ($curl, CURLOPT_TIMEOUT, 100);
curl_exec($curl);
curl_getinfo($curl); //可获取请求信息
curl_close($curl);
  爬取到了 HTML 后,可使用 PHP Simple HTML DOM Parser 或者 QueryList 进行解析 HTML。
  解析 HTML 获取到须要的内容就可以保存到数据库了。
  经过处理后的疗效(已经可展示在自己的 H5 网页):
  
  此时早已可以完成借助搜狗爬取微信公众号文章。还有一些网站不写原创文章微信文章采集 php,使用爬虫四处爬文章发布也是同样的原理。
  最后还是说一句,本文仅供学习与研究。

官方客服QQ群

微信人工客服

QQ人工客服


线