微信公众号文章搜寻器系统
优采云 发布时间: 2020-08-06 04:04已经快两个星期了. 我已经在微信公众号上调试了商品搜寻器系统,最后一切都很好,但是在此期间,我遇到了很多问题. 让我们今天回顾一下并进行总结. 我希望它会有用. 朋友可以学习.
1. 我做了两个履带. 第一次我害怕Phoenix.com时,没有任何限制,我可以随意爬网,所以我放松了对自动代码执行模块的警惕. 我认为这很简单,但事实并非如此. 我已经为这个问题困扰了好几天,几乎是四天. 由于搜狗的限制,获得相同IP的次数越来越多. 首先,显示验证码,其次是访问限制. 直接无法访问. 根据请求,您得到的是访问次数太频繁,这种提示,因此在开发过程中最麻烦的不是代码的编写,而是测试. 编写后无法立即测试该代码. 我相信大多数程序员都不会喜欢,我现在编写的程序每天执行3次. 这样的频率很好,并且因为它是由多个正式帐户采集的,所以每个正式帐户之间也要有一个间隔,否则它将同时访问十多个公众,该帐户上的数百篇文章也是不现实的. 在插入句子时,如何使每个正式帐户都不敢玩,等待特定的时间段,执行下一个,最后使用setInterval函数来解决它,
每80秒执行一个正式帐户,并将每个执行代码写入hello. 泡沫距离有点远. 我会收到的. 我们来谈谈cron程序包,它是自动执行的. npm官方网站上仅举了一个例子,但是我的意思是桑拿浴可能有点压抑. 我无法播放,但了解其用法. 然后我说,如果我听不懂怎么办. 在Internet,百度和cron程序包的特定用法上进行搜索. 有很多,所以我只是看了看,但是经过仔细的分析却并非如此. 都是废话,没用. 一般在线使用中都有一个问号,但是当我添加一个问号时,会出现错误. 是的,这都是胡说八道. 最后,我在同学小组的一个前端技术讨论小组中说了这一点. 真正热情的小组朋友找到了我一个链接. 我进去看看,尝试了一下,没关系,所以,非常感谢这位帮助我解决难题的同学. 我将再次附上QQ群组号码和链接,以帮助您在阅读本文时学习. QQ组号: 435012561,链接: ,链接说的没问题,至少可以用,这里我仍然有一个问题,就是时区,我们以前用过一次,使用洛杉矶时间,但是这次显然不起作用,我们需要用中文,但是我在北京尝试了几次,虽然不好,但是重庆可以,所以我用了重庆.
2. 我想在这里谈论的是从地址栏获取参数的问题. 我做的最后一个很好,但是我不知道该怎么做. 我从地址栏中得到的最后一个是数字,但是这个是它的. 它是一个字符串,并且mongodb中对字段的要求仍然非常严格,因此分页功能困扰了我几个小时. 它是如何解决的?我在mongodb中添加了一个讨论组. 我问其中有什么问题,并发布了屏幕截图. 有一个热心的网民说,传入数据的格式显然不正确. 我唤醒了做梦者,我说了是,然后我使用Number()函数来处理我得到的参数,以便字符串类型的数量成为数字类型的数量. 很好,因此在使用mongodb时,必须注意存储数据的格式.
3. Mongodb查询数据语句的组织:
坦率地说,实际上是使用了限制和跳过这两个函数,但是特定的格式可能是乐观的,并且mine是可接受的参数,但是mongo的参数接受很容易直接编写,不需要喜欢sql像$ {“”}一样. 下面的排序功能说明了排序方法. 这里,ctime字段设置为标准,-1表示逆序,1表示正序,
4. 在这段代码编写中,我第一次使用了try catch方法进行纠错. 原来没关系. 偶尔的错误可以正常地打印出来,但是它不会影响代码的整体执行,或者说到下一次执行,整体感觉非常好,
对于特定用法,将您要执行的代码放入try中,并在最后添加一行,并抛出Error();
然后传入参数e以进行捕获,可以在catch中打印很多消息,我只打印了其中之一,例如e.message
5. anync包主要用于此编码过程中,其中的ansyc.each循环,ansyc.waterfall在执行完上述操作后可以执行以下操作,也可以在您之间的上下传递参数,这非常重要的是,因为在此编程中,每次获取的内容都不同,每个代码执行的条件也不同,也就是说,所需的参数也不同,即,下一个代码执行可能需要上一个代码. 执行,所以这个anync软件包真的值得研究. 他的每种方法都不相同,有时可能会得到意想不到的结果.
6. 在mysql中,如果要实现这样的效果,即如果它已经存在于数据库中,则忽略它,或者不重复存储它;如果它不存在于数据库中,则将其存储在其中. 用replace替换插入数据的插入. 但是在mongodb中,应该没有,或者我还没有找到它. 我用这种方法解决了. 我定义了一个开关来使该开关为真. 在每次存储之前,循环所有数据以查看是否有该数据,如果没有,则让开关变为假,否则,继续执行,即判断此时开关是真还是假,如果为true,则执行插入操作;如果为false,则将其忽略. 这样可以达到类似的效果,否则每次都会存储大量重复数据,
7. 该集合的核心是我文件中的common.js. 首先,因为我们要采集,所以我们需要使用请求包. 采集后,我们需要以html格式处理数据,以便可以使用类似于jquery的数据. 对于该操作,cheerio包已使用了很长时间,然后在循环采集时将使用anync.each方法,因此将使用异步包,
7-1,
通过采集搜狗微信,我们必须分析搜狗微信的路径. 每个官方帐户页面的路径都是这样
%E8%BF%99%E6%89%8D%E6%98%AF%E6%97%A5%E6%9C%AC&ie = utf8&_sug_ = n&_sug_type _ =
这是“这是日本”页面的链接. 经过分析,所有正式帐户的链接仅在查询后的参数上有所不同,但是查询后的参数是什么,实际上,它是由encodeURIComponent()函数转换的,之后是“这是日本”,因此相同. 要获得该官方帐户,只需对官方帐户的名称进行编码并将其动态组合成一个链接,您就可以在访问时输入每个链接,但是我只是要求此页面此链接,
不是
此页面,因此进一步的处理是获取当前页面的第一内容的链接,即href
获得此链接后,您会发现他具有自己的加密方法. 实际上非常简单,就是在链接中增加三个安培;更换这三个放大器;在带有空链接的链接中,就好了,这是第一步,获取每个官方帐户的页面链接,
7-2
获取链接后,有必要访问,即请求,请求每个地址,获取每个地址的内容,但每个页面上显示的内容不在该页面中,即在html结构中,隐藏在js中,因此我们需要通过常规匹配来获取每篇文章的对象,然后循环访问每个正式帐户的对象以获取有关该对象中每篇文章的一些信息,包括标题,缩略图,摘要,URL,时间, 5个字段,但我使用的代码很烂,而我当时使用的是
Object.Attribute.foreach(function(item,index){
})
这种可怕的方法,最后要做的就是编写一个循环以完全获取每个对象,否则只能获取第一个对象. 在这里,您应该使用async.each或async.foreach. 可以使用两种方法中的每一种,并且它们都非常易于使用. 这样,您将获得上述每篇文章的基本新闻.
7-3,
第三阶段是进入每篇文章的详细信息页面,并获取每篇文章的内容,喜欢的次数,作者,官方帐号,阅读量和其他数据. 这里遇到的主要问题是人们的内容直接位于js中,并且所有img标签都有问题. 它们以这种形式存储在内容中,但是在这种情况下,由于标签,html文档(我不知道此类img标签)存在问题,此类图像无法显示在我们的网页上,因此在这里我们需要进行一些处理,替换全部与
p%0A/p
p%E8%BF%99%E6%A0%B7%E7%9A%84%E8%AF%9D%E5%B0%B1OK%E4%BA%86%EF%BC%8C%E4%BD% 86%E6%98%AF%E6%88%91%E5%9C%A8%E7%BC%96%E7%A8%8B%E7%9A%84%E6%97%B6%E5%80%99% E8%BF%9B%E8%A1%8C%E5%88%B0%E8%BF%99%E5%84%BF%E7%A2%B0%E5%88%B0%E4%BA%86%E4% B8%80%E4%B8%AA%E5%82%BB%E9%80%BC%E9%97%AE%E9%A2%98%EF%BC%8C%E6%88%91%E5%B0% 86%E8%BF%99%E6%A0%B7%E7%9A%84%E5%BE%97%E5%88%B0%E7%9A%84content%EF%BC%8C%E6%94%BE% E5%88%B0html%E4%B8%AD%E5%8F%AF%E4%BB%A5%EF%BC%8C%E4%BD%86%E6%98%AF%E5%AD%98%E5% 88%B0mongodb%E4%B8%AD%EF%BC%8C%E6%AF%8F%E4%B8%AA%E5%BC%95%E5%8F%B7%E7%9A%84%E5%89% 8D%E9%9D%A2%E8%8E%AB%E5%90%8D%E5%85%B6%E5%A6%99%E7%9A%84%E5%A4%9A%E4%BA%86% E4%B8%80%E6%9D%A1%E6%9D%A0%EF%BC%8C%E6%AF%8F%E4%B8%AAimg%E6%A0%87%E7%AD%BE%E5% A4%9A%E4%BA%86%E4%B8%89%E6%9D%A1%E6%9D%A0%EF%BC%8C%E8%BF%99%E6%A0%B7%E7%9A% 84%E8%AF%9D%E5%B0%B1%E5%8F%88%E4%B8%8D%E5%8F%AF%E4%BB%A5%E6%98%BE%E7%A4%BA% E4%BA%86%EF%BC%8C%E6%88%91%E5%B0%B1%E4%B8%80%E7%9B%B4%E7%BA%A0%E7%BB%93%E5% 95%8A%EF%BC%8C%E6%80%8E%E4%B 9%88%E8%83%BD%E5%AD%98%E5%82%A8%E7%9A% 84%E6%97%B6%E5%80%99%E4%B8%8D%E8%A6%81%E8%BF%99%E4%B8%89%E6%9D%A1%E6%9D%A0% E5%91%A2%EF%BC%8C%E7%BB%8F%E8%BF%87%E4%BA%86%E4%B8%80%E7%95%AA%E8%89%B0%E8% 8B%A6%E5%8D%93%E7%BB%9D%E7%9A%84%E6%96%97%E4%BA%89%EF%BC%8C%E6%9C%80%E5%90% 8E%E8%BF%98%E6%98%AF%E6%B2%A1%E8%83%BD%E8%A7%A3%E5%86%B3%E4%BA%86%EF%BC%8C% E6%9C%80%E5%90%8E%E5%8A%A0%E4%BA%86%E4%B8%80%E4%B8%AAmongodb%20%E7%9A%84%E8%AE%A8% E8%AE%BA%E7%BE%A4%EF%BC%8C%E6%88%91%E8%BF%9B%E5%8E%BB%E9%97%AE%E4%BA%86%E4% B8%80%E4%B8%8B%EF%BC%8C%E6%9C%89%E4%B8%80%E4%B8%AA%E5%A4%A7%E7%A5%9E%E7%AB% 8B%E9%A9%AC%E8%AF%B4%EF%BC%8C%E4%BD%A0%E7%9F%A5%E9%81%93%E4%BB%80%E4%B9%88% E6%98%AF%E8%BD%AC%E4%B9%89%E5%AD%97%E7%AC%A6%E5%90%97%EF%BC%9F%E6%88%91%E5% BD%93%E6%97%B6%E5%BE%88%E6%87%B5%E9%80%BC%E5%95%8A%EF%BC%8C%E6%88%91%E8%87% AA%E8%AE%A4%E4%B8%BA%E6%88%91%E7%9F%A5%E9%81%93%E5%95%8A%EF%BC%8C%E4%BA%BA% E5%AE%B6%E8%AF%B4%EF%BC%8C%E4%BD%A0%E7%9A%84%E7%BE%A4%E5%A4%87%E6%B3%A8%E8% BF%98%E6%98%AF%E5%89%8D%E7%AB%AF%EF%BC%8C%E4%BD%A0%E5%8 1%9A%E5%89%8D%E7%AB %AF%E 7%9A%84%E4%B8%8D%E6%98%8E%E7%99%BD%E8%BF%99%E6%98%AF%E8%BD%AC%E4%B9%89%E5% AD%97%E7%AC%A6%E5%90%97%EF%BC%9F%E6%88%91%E5%B0%B1%E6%9B%B4%E5%8A%A0%E6%87% B5%E9%80%BC%E4%BA%86%EF%BC%8C%E7%84%B6%E5%90%8E%E8%BF%87%E4%BA%86%E4%B8%80% E4%BC%9A%E5%84%BF%E6%88%91%E6%89%8D%E6%98%8E%E7%99%BD%E8%BF%87%E6%9D%A5%EF% BC%8C%E8%BF%99%E4%B8%AA%E6%98%AF%E5%AD%98%E5%82%A8%E7%9A%84%E6%97%B6%E5%80% 99%E8%A2%AB%E8%BD%AC%E4%B9%89%E4%BA%86%EF%BC%8C%E4%BD%86%E6%98%AF%E5%BD%93% E4%BB%8E%E6%95%B0%E6%8D%AE%E5%BA%93%E8%AF%BB%E7%9A%84%E6%97%B6%E5%80%99%EF% BC%8C%E5%B0%B1%E8%87%AA%E5%8A%A8%E6%9C%89%E6%B2%A1%E6%9C%89%E4%BA%86%EF%BC% 8C%E6%89%80%E4%BB%A5%E8%AF%B4%E5%8F%AA%E6%9C%89%E5%AD%98%E5%9C%A8%E6%95%B0% E6%8D%AE%E5%BA%93%E4%B8%AD%E7%9A%84%E6%95%B0%E6%8D%AE%E6%9C%89%E4%B8%89%E6% 9D%A1%E6%9D%A0%EF%BC%8C%E5%8E%9F%E5%A7%8B%E6%95%B0%E6%8D%AE%E5%92%8C%E8%AF% BB%E5%8F%96%E5%87%BA%E6%9D%A5%E7%9A%84%E6%95%B0%E6%8D%AE%E9%83%BD%E6%B2%A1% E6%9C%89%EF%BC%8C%E7%9C%9F%E6%98%AF%E5%AE%8C%E7%BE%8E%E5%95%8A%EF%BC%81/p
p%0 A/p
p8%E3%80%81%E6%9C%80%E5%90%8E%E6%83%B3%E8%AF%B4%E4%B8%80%E7%82%B9%EF%BC %8C%E8%BF%99%E6%AC%A1%E6%98%AF%E6%88%91%E7%AC%AC%E4%B8%80%E6%AC%A1%E6%8E%A5 %E8%A7%A6%E6%9C%89%E9%AA%8C%E8%AF%81%E7%A0%81%E7%9A%84%E7%BD%91%E9%A1%B5%E8 %AF%B7%E6%B1%82%EF%BC%8C%E8%BF%99%E9%87%8C%E7%94%A8%E5%88%B0%E4%BA%86%E9%98 %BF%E9%87%8C%E4%B8%80%E4%B8%AA%E6%9C%8D%E5%8A%A1%EF%BC%8C%E8%AF%86%E5%88%AB %E9%AA%8C%E8%AF%81%E7%A0%81%EF%BC%8C/p
p%0A/p
pEND!/p
p/ body / html" />