让公众号直接返回微信客户端输入的文本内容


    根据青城老贼的文章进行实践,让公众号直接返回输入的文本内容。原文:http://www.zhongyaofang.cn/combat_power/weixin_jiaocheng_vol11.html




修改wx_token_read.php的内容:

<pre style="font-family: 宋体; font-size: 9pt; background-color: rgb(255, 255, 255);"><pre name="code" class="php"><?php
//装载模板文件
include_once("wx_tpl.php");

//获取微信发送数据
$postStr = $GLOBALS["HTTP_RAW_POST_DATA"];

  //返回回复数据
if (!empty($postStr)){
          
    	//解析数据
          $postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);
    	//发送消息方ID
          $fromUsername = $postObj->FromUserName;
    	//接收消息方ID
          $toUsername = $postObj->ToUserName;
   		//消息类型
          $form_MsgType = $postObj->MsgType;
          
    	  //事件消息
          if($form_MsgType=="text")
          {
            //获取用户发送的文字内容
            $form_Content = trim($postObj->Content);
            //
            if(!empty($form_Content))
            { 
			  // 若非空,直接回复
              $msgType = "text";  
              $resultStr = sprintf($textTpl, $fromUsername, $toUsername, time(), $msgType, $form_Content); 
              echo $resultStr;
              exit;
			}
			else
			{
			  // 若空,提示输入
              $msgType = "text";  
              //$contentStr = $form_Content;  
              $resultStr = sprintf($textTpl, $fromUsername, $toUsername, time(), $msgType, "输入文字试试看"); 
              echo $resultStr;
              exit;

			}

			//$logfile = fopen("log.txt", "w") or die("Unable to open file!");
			//fwrite($logfile, $resultStr);
			//fclose($logfile);

          }
          elseif($form_MsgType=="event")// 接收到事件
          {
            //获取事件类型
            $form_Event = $postObj->Event;
            //订阅事件
            if($form_Event=="subscribe")
            {
              //回复欢迎文字消息
              $msgType = "text";
              $contentStr = "感谢您关注老狼的微信测试![愉快]\n\n想学公众平台使用的朋友请输入“跟我学”![玫瑰]";
              $resultStr = sprintf($textTpl, $fromUsername, $toUsername, time(), $msgType, $contentStr);
              echo $resultStr;
              exit;
            }
          
          }
          
  }
  else 
  {
          echo "";
          exit;
  }

?>


 
 







要用Python爬取微信公众号的数据,可以使用第三方库itchat和Selenium。 首先,安装itchat库:在命令行中输入"pip install itchat",等待安装完成。 然后,使用itchat库登录微信账号:在Python代码中导入itchat库,通过调用itchat.login()函数登录微信账号。按照提示扫描登录二维码即可。 登录完成后,可以通过itchat.get_mps()函数获取微信公众号列表。可以通过遍历该列表,找到目标公众号的username。 接下来,可以通过itchat.search_mps()函数搜索公众号,传入公众号的名称,返回一个字典,包含公众号的详细信息。从中获取公众号的username。 得到目标公众号的username后,使用itchat.send()函数可以向公众号发送消息,例如发送一个指令来获取公众号的文章列表。 然而,由于微信公众号的网页是动态加载的,无法通过itchat直接爬取。这时候可以使用Selenium库来模拟浏览器行为。 首先要安装Selenium库,输入"pip install selenium"进行安装。 然后,在代码中导入selenium库,并启动一个真实的浏览器,例如Chrome。 接下来,使用浏览器打开微信公众号的网页,需要手动登录微信账号。 登录完成后,可以进行一系列操作,例如点击搜索框输入公众号名称,点击搜索按钮进行搜索,点击公众号进入详情页,然后找到文章列表,使用Selenium库提供的方法获取列表的HTML或文本信息。 得到文章列表后,可以使用正则表达式或其他方法进行解析和提取,获取目标数据。 最后,可以保存数据到本地文件,或进行其他后续处理。 总结来说,Python爬取微信公众号的数据,可以使用itchat库登录微信账号,获取公众号username;然后使用Selenium库模拟浏览器行为,获取公众号的文章列表;最后解析数据并保存。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值