当前xpathtest存在的问题。

1.一个网站有正文有两种页面格式而且url正则不能区分时,只能舍弃一种格式的网页。

2.当正文网页需要翻页时,只能拿到第一页的东西。http://www.cankaoxiaoxi.com/china/20180810/2308630.shtml

3.除了能直接get得到的网页;其他的都无能为力。

4.有些网站下一页不是普通的get请求,但是url有规律,这种情况也不能好好的支持。http://www.chinanews.com/scroll-news/news1.html

5.个别网站时间显示是 ‘今天’ ‘昨天’。。http://news.tjbh.com/gnnews/system/2018/08/10/030419987.shtml

6.个别网站信息在图片里,http://industry.cfi.cn/p20180809000540.html

7.xpath语法的问题:

httpcleaner 用的是xpath1.0版本; 网上也找不到其具体语法, 跟据经验列出以下几条:

  1. /text() 与 //text() 的效果一样。
  2. 正文里一般有p标签,我们有时用//p//text() 拿不到, 但是艳容能拿到(她用的代码跟我们不一样)。
  3. div[条件1][条件2] 这样多谓语的不支持
  4. div[last()-1]这样带有运算的不支持
  5. 不支持 |  (或),如果支持的话,那么新新闻与旧新闻页面结构不一样的这种一个网站有多种不同的页面的情况就好办了

我这里提一个新的调用xml的方式:

现在是每一个xml都有与之对应的一个正则表达式。然后每进来一个url就去找第一个与之匹配的正则的那项的xml。

我想的方式是将每个种子url对应的xml预先就固定死。 举个例子:

<!--中国日报中文网国际资讯:http://world.chinadaily.com.cn/node_1072287.htm中文聚焦:http://cnews.chinadaily.com.cn/node_1132603.htm中国要闻:http://china.chinadaily.com.cn/node_1143902.htm财经头条:http://caijing.chinadaily.com.cn/node_1078506.htm财经要闻:http://caijing.chinadaily.com.cn/node_53008184.htm国际资讯:http://world.chinadaily.com.cn/node_1072287.htm世界要闻:http://world.chinadaily.com.cn/node_1072269.htm最热新闻:http://top.chinadaily.com.cn/node_53005370.htm生活快讯:http://fashion.chinadaily.com.cn/node_53008176.htm作者和来源是一起的--><page name="chinadaily" parallelismHint="10" url="^http://.+?\.chinadaily\.com\.cn/node.+?htm$"><item name="fetching_urls" type="MultipleResult" desc="中国日报网">//div[@class='busBox1']//h3//@href</item><item name="fetching_next_page" type="SingleResult" desc="下一页">//a[text()='下一页']/@href</item><item name="fetching_title" type="MultipleResult" desc="中国日报网新闻标题">//div[@class='busBox1']//h3//text()</item></page><page name="chinadaily" parallelismHint="10" url="^http://.+?\.chinadaily\.com\.cn/.+?content.+htm$"><item name="title" type="SingleResult" desc="标题">//h1[@class='dabiaoti']/text()</item><item name="content" type="MultipleResult" desc="正文">//div[@id='Content']//text()</item><item name="timestamp" type="SingleResult" desc="提交时间">//div[@id='pubtime']//text()</item><item name="source" type="SingleResult" desc="中国日报网新闻来源">//div[@id='source']//text()</item><item name="nickname" type="SingleResult" desc="中国日报网新闻作者">//div[@id='source']//text()</item></page>

上面是我写的一个xml,我的意思是将种子url也同xpath一样预先写入配置文件;解析xml的时候直接将种子url拿出来让第一个xml解析,解析出来的正文url用第二项解析。这中间不需要正则的参与!如果一个网站对应超过2个xml项,那也只需加正则按照现在的xml来就好了。(我们写的大部分网站都只需要写两个xml,而且如果xpath支持或, 那么95%以上的网站都可以只写两个xml)

现在这种方式的话,我们遇到过一些问题,比如资产部今天调研了一个北京人民网,我今天写了北京人民的xml;但是过一段时间又调研了个湖南人民网,这样我又得回来看北京人民网是否与湖南的存在冲突!这有点难受。

如果以我说的这样就不会出现这种情况,我不需要去管过去写过什么。每两项或者多项xml与其种子url相对于其他的xml是独立的。

现在这样写也有优点的,我估计代码稍微好写一些,好控制线程一些吧!但是,如果能改成我这样的方式的话,我们写xpath的会舒服一些。 要不要改,还是要看相关人员思考一下看有没有必要,改代码复不复杂,这样改对以后还有没有帮助!

舆情项目xpathtest问题相关推荐

  1. 网络舆情监测管理制度及处置机制,网络舆情监测服务项目实时方案?

    舆情监测通常包括搜集.分析和报告舆论信息的过程.搜集信息的途径包括网络新闻.社交媒体.博客.论坛等,分析信息的方法包括自然语言处理.数据挖掘.模糊属性决策分析等.接下来TOOM舆情监测小编带您简单了解 ...

  2. 浅谈网络舆情监测系统中爬虫的设计及系统架构

    前言   说到网络舆情监测想必很多人都不陌生.可以跟大家这么说吧.爬虫所能带来的商业价值适用并深存于所有小-中-大企业中,尤其做网络舆情的大数据公司所有的业务基本都必须依托于爬虫来开展它的战略布局,毕 ...

  3. 舆情监控数据采集 Scrapy 环境搭建与数据管理方案

    中国网 很多小伙伴不知道,是和 新华网.人民网 齐名的国家级的新闻媒体机构,有幸参与了863课题的舆情项目,现在很多的企业舆情项目都是基于这套内容衍生出来的.并且基于舆情项目衍生出来的很多项目都会涉及 ...

  4. 文本相似度-相似度度量

    NLP点滴--文本相似度 目录 前言 字面距离 common lang库 相同字符数 莱文斯坦距离(编辑距离) 定义 实现方式 Jaro距离 定义 实现方式 应用 SimHash 定义 基本流程 相似 ...

  5. java 反射初探(1)

    从接触java开始,很少使用过反射,记得只有在去年做一个舆情项目的时候,用反射做过一个代理模式来判断抓取的哪个网站的数据.先说说自己对反射的理解吧. 反射的原理: JAVA反射机制是在运行状态中,对于 ...

  6. 万字长文综述:文本增强技术的研究进展及应用实践

    本文经机器之心(微信公众号:almosthuman2014)授权转载 禁止二次转载  作者:李渔 样本少.分布不均衡,如何让训练的模型性能更优越?文本增强技术算得上一个不错的办法.本文介绍了熵简科技联 ...

  7. Javapython实现网页内容自动识别与提取技术实现

    互联网数据采集的应用场景非常广泛,一般用于 情报收集.舆情分析.竞争对手分析.学术研究.市场分析.用户口碑监测 ,在数据采集的过程中大多数网站都是以标题,时间,摘要,作者,来源,正文等形式展现,但是会 ...

  8. 香侬科技:打造出有中国文化特色的全球技术领先人工智能公司 | 百万人学AI评选

    2020 无疑是特殊的一年,而 AI 在开年的这场"战疫"中表现出了惊人的力量.站在"新十年"的起点上,CSDN[百万人学AI]评选活动正式启动.本届评选活动在 ...

  9. 香侬科技Service Streamer:加速深度学习Web服务、极大提高GPU利用率。| 百万人学AI评选

    2020 无疑是特殊的一年,而 AI 在开年的这场"战疫"中表现出了惊人的力量.站在"新十年"的起点上,CSDN[百万人学AI]评选活动正式启动.本届评选活动在 ...

最新文章

  1. 2020年python工资一般多少钱-2020年Python的就业薪资有多少?前景如何?
  2. Cassandra 常见错误索引
  3. 历史性胜利!纽约曼哈顿充电站数量超过加油站
  4. sqlserver 库服务器导数据
  5. 英伟达3080Ti、3070Ti来了!
  6. 背包问题(nyoj106)
  7. linux nmon 进程io,Linux服务器用iotop命令分析服务器磁盘IO情况
  8. mysql的配置文件解释
  9. Upgrade to Spring Boot 1.4
  10. 2021-10-12
  11. c语言dll注入进程,DLL注入--设置消息钩子
  12. 机器学习算法入门介绍
  13. js pdf文件 如何调用打印机打印_pdf.js —— 在线预览下载打印pdf文件插件,实现的两种方式...
  14. HbuilderX配置微信开发者工具
  15. Mac 修改移动硬盘图标,U盘图标
  16. 2021年茶艺师(初级)考试题及茶艺师(初级)新版试题
  17. 什么是EOS(柚子)
  18. 交换机基础知识和VLAN概述
  19. 病毒木马查杀实战第007篇:熊猫烧香之逆向分析(下)
  20. 层次分析法 AHP

热门文章

  1. excel如何绘制三线表头?
  2. python之try except的使用
  3. 逻辑教育python视频_逻怎么读音、逻是什么意思、逻字适合起名吗、字典查字
  4. html字两边的横线_css怎么在文字两边加上横线,word文字两边加横线
  5. 暴雪团队使用VS进行Linux平台崩溃分析
  6. 单内存16g和双8g差别大吗_内存单根16G和两根8G有多大差别?原来里面的讲究这么多,绝了!...
  7. php使用curl下载文件
  8. 云管家类型软件数据是否安全_计算机云服务是否是您企业的安全选择?
  9. layui 文件实现分片上传和 断点续传 和 急速秒传 SpringBoot JAVA
  10. “当迷茫时就回到原点,或者退一步再思考” | 技术人金句系列