的新媒体运营商每天都必须手动计算出几个微信的公开帐户的出版(主要计算读数和喜欢的数量)。
为了提高效率,运营商希望我们可以为自动统计数据开发工具。
收到此请求后,我搜索了与微信官方帐户爬网相关的内容。我看到一位大学生发布了一篇名为“基于 的微信官方帐户的爬网接口”的文章(单击以读取原始文本以查看),并将其包装到一个组件中,以供所有人下载和安装。
该语言更方便地实现后端批处理处理。我也想学习,但是由于没有特定的应用程序方案,所以我一直在延迟并且没有真正开始学习。这次,有这样的实际需求,因此我决定花一些时间学习和使用它来满足这种实际的业务需求。
我还了解到,新邦公司也有类似的服务。他们的服务主要针对广告商监视文章的沟通效果,而一篇文章的费用约为10元。如果您每天使用他们的平台,那将是昂贵的。
根据我在本文中的方法,整个学习和发展过程包括以下步骤:
1。根据最佳示例构建开源代码运行环境
我的开发环境是10.12,Mac操作系统对编程环境有很好的支持:操作系统具有自己的.7环境,终端命令非常相似,等等。
由于我一直在使用VI编写代码,这次我已经在Mac环境中开发了代码,因此VI已成为最自然的编辑工具。
程序的运行方法非常相似。编写代码后,无需通过复杂性来编译。它可以直接以以下方式运行,这非常方便。
python 源代码文件
回到微信爬网的开发中,我首先根据上述文章在Mac终端执行以下命令,以安装开源组件
pip install wechatsogou
由于此组件依赖于其他组件,因此在安装过程中遇到了多个缺失组件的错误。但是,由于它是通用的,因此通过粘贴错误消息快速找到相应的解决方案。
PIP是Mac下的软件包管理工具,可以非常方便地用于下载和安装组件软件包。运行以下命令以安装它。
sudo easy_install pip
2.寻求专家的支持并快速完成基本功能
为了能够在短时间内完成一个真正有能力的爬网程序,我寻求专家的支持。基于开源组件,第一个版本很快实现了。
3。在Mac环境中安装数据库
由于我想实现数据库存储以进行爬网结果,因此我还需要安装数据库环境。
只需在Mac上执行以下命令即可下载并安装
brew install mysql
组件依赖项将自动判断,下载和安装。
不幸的是,在安装结束时,报告了404的错误,并且无法自动下载安装程序包。
尝试了几次后,我报告了相同的错误,因此我不得不继续寻求帮助。
最后,确定升级其的原因,并执行以下命令以在升级后解决问题。
brew update
下载和安装完成后,需要修改数据库密码。由于高版本(5.7.17),因此已更改了用户表密码字段的旧版本。网络上的大多数修改方法都是不正确的。后来,通过以下方法完成了根密码的修改:
update mysql.user set authentication_string=password('root'),password_expired='N' where user='root' and host='localhost';
中间还有另一集:折腾后,我不再知道root密码了。我必须继续找到一种重置密码的方法。
网络上找到的解决方案是通过以下命令重新启动,输入安全模式,绕过密码验证,然后修改密码。
$ cd /usr/local/mysql/bin $ sudo ./mysqld_safe --skip-grant-tables --skip-networking &
验证后,此方法无法正常启动我的工作。由于普通启动命令是
mysql.server start
我有一个突然的灵感,并在上述正常启动命令中添加了两个参数,即执行
mysql.server start --skip-grant-tables --skip-networking
密码重置问题已成功解决。
此外,为了启用代码支持数据库链接,有必要安装-
pip install MySQL-python
4。快速学习语法并改善程序功能
为了维护和修改代码的第一个版本,我花了一个晚上浏览并在2.7版本的官方网站上研究文档。我学到的一些基本功能,最令人印象深刻的功能是:
1。代码块:通过缩进法官代码块,而不是使用{}来像其他语言一样包含代码块。
2.评论方法:使用两个3个单引号组合来包括评论内容。代码块标记可能是学习的。
最后,让我向您展示 数据库查询的结果:
5。要解决的问题
我们现在遇到的最大问题是,微信界面的反爬行策略非常严格。测试后,只要您连续运行两个公共帐户,就会触发反爬行机制,需要手动输入图像验证代码。
一旦触发了图像验证代码,即使更改了IP,也无法解除阻止。
我在网上搜索了一些信息,并了解到微信接口反爬行机制使双重判断机制和IP能够。如果要绕过此机制,则需要维护池和代理服务器的IP库,然后在程序中运行时不断替换和代理服务器地址。
这两个问题非常困难,我们仍然需要继续寻找专家支持。临时解决方案:一次仅运行一个微信官方帐户,每篇文章的接口呼叫间隔为30秒。
在有关元研究的本文中,我提到学习新技能时有两个要点要注意:
首先,我们必须掌握最低必要的知识并迅速实践。以互联网为辅助大脑,学习了许多新知识,掌握如何使用搜索引擎成为最不必要的知识。
第二个是寻求专家的指导,快速练习高频小型例程,迅速通过实际项目开始,然后逐渐完善相关领域的知识点。
这次,我研究并制定了一个微信爬行者计划,这在某种程度上是一种元学习理论的实践。