zoukankan      html  css  js  c++  java
  • 匹配某狗微信结果

    好久没更了,今天记录下爬虫遇到问题解决办法的思想。

    需求:

    前两天需求根据关键字去某站搜索,最终获得条数。

    第一次发现问题:

    之前写过,都跑通了,但是最后发现结果不是特别的严谨,某狗网站会根据关键词分割搜索相应的内容,就导致了结果条数虚假。

    第一次解决办法

    当时发现问题之后,想了一个办法。匹配搜索字符串在当前页面出现的次数。

    第二次发现问题

    实时的过程中发现了一个问题,也跑通了,但是某狗的页面关键词被标点符号分割了,而且还被em标签独立出来(为了加突出样式)

    这个问题想了好多种办法,我来一一描述,

    1、对搜索字符串进行分割,取第一句,或者,最长的句子(考虑,搜索内容标点符合不确定性及长度不确定性就放弃)

    2、替换掉结果页中em标签(但发现,某狗会自动转化英文符号,考虑不确定性因素太大,放弃)

    3、后来果断啥也不替换直接,提取所有中文,这样就没了杂七杂八的问题,果然还是单纯的好骗。

         preg = "/[x{4e00}-x{9fa5}]+/u";  //正则所有中文
            preg_match_all($preg,$str,$matches);  //结果页格式化
            preg_match_all($preg,$txtjt,$matches_txtjt); //搜索关键词格式化
            $geshi_str = implode($matches[0]);  //拼接
            $geshi_txtjt = implode($matches_txtjt[0]); //拼接
    
    
            echo preg_match_all('/'.$geshi_txtjt.'/',$geshi_str,$match2);   //获得匹配次数
            var_dump($match2);

    根据这个匹配次数的多少选择是否录用结果,提高了严谨性

  • 相关阅读:
    计算机术语
    【转】 物理内存和线性空间
    windows Visual Studio 上安装 CUDA【转载】
    windows Notepad++ 上配置 vs 编译器 , 编译并运行
    单列模式 [转载]
    Java Swing布局管理器GridBagLayout的使用示例 [转]
    五年java工作应具备的技能
    三年java软件工程师应有的技技能
    京东面试题 Java相关
    京东笔试题总结
  • 原文地址:https://www.cnblogs.com/chenliuxiao/p/12852318.html
Copyright © 2011-2022 走看看