小记----采集之Xpath】的更多相关文章

一.XPATH简介   Xpath是XML路径语言,它是一种确定XML文档中某部分位置的语言 二.XPATH语法  XPATH使用路径表达式在XML文档中选取节点.节点是通过沿着路径或者step来选取的.   /div/a[1] 选取属于div的子元素第一个a元素 /div/a[last()] 选取属于div的子元素的最后一个a元素 /div/a[last()-1 选取属于div的子元素的倒数第二个a元素 /div/a[position()<3] 选取属于div的子元素的前两个a元素 //tit…
简介 本文介绍net处理html页面元素的工具类(HtmlAgilityPack.dll)的使用,用途比较多的应该是例如采集类的功能,采集到的html字符串要怎样处理是一个头痛的问题,如果是截取就太麻烦了而且容易出错.所有就用到本文的第三方dll来处理了. 下载 下载地址:http://htmlagilitypack.codeplex.com/ 点击“download”按钮直接下载. 使用 1.添加HtmlAgilityPack.dll引用(引用类using HtmlAgilityPack;).…
第一次接触HtmlAgilityPack是在5年前,一些意外,让我从技术部门临时调到销售部门,负责建立一些流程和寻找潜在客户,最后在阿里巴巴找到了很多客户信息,非常全面,刚开始是手动复制到Excel,是真尼玛的累,虽然那个时候C#还很菜,也想能不能通过程序来批量获取(所以平时想法要多才好).几经周折,终于发现了HtmlAgilityPack神器,这几年也用HtmlAgilityPack采集了很多类型数据,特别是足球赛事资料库的数据采集以及天气数据采集,都是使用HtmlAgilityPack,所以…
有HtmlAgilityPack这个类库可以更方便地对HTML内容进行分析和提取.因此今天特别学习和实践了一下HtmlAgilityPack和XPath,并作下笔记. 1.下载HtmlAgilityPack.dll并将其添加引用到项目中,然后在代码中声明引用. 下载地址:http://www.codeplex.com/htmlagilitypack 引用: using HtmlAgilityPack; 2.下载获取HTML页面的步骤和我上篇文章里介绍的差不多,都是先用WebClient或者Web…
#!/usr/bin/python # -*- coding: UTF-8 -*- '''Thread3 多线程测试采集''' import threading,time,queue,Mongo_utils,mysqlUtils,requests,json,os from lxml import html etree = html.etree exitFlag = 0 db = Mongo_utils.mongodb_15_27017task() table = db["xx_anjuke_ag…
1.元素定位 ID定位元素:  findElement(By.id(“”));  通过元素的名称定位元素:  findElement(By.name(“”));   通过元素的html中的位置定位元素: findElement(By.xpath(“”));  通过元素的标签名称定位元素: findElement(By.tagName(“”));  通过元素的链接名称定位元素:  findElement(By.linkText(“”));  通过元素的类名定位元素:  findElement(By…
    Jsoup是一款Java解析器,相当于httpClient解析器 功能:①:从一个URL,文件或字符串中解析HTML         ②:使用DOM或CSS选择器来查找.取出数据         ③:可操作HTML元素.属性.文本 特性:Jsoup解析器能够尽最大可能创建一个干净的解析结果(自动补全不完整的HTML格式) 1.没有关闭的标签. 2.隐式标签 3.创建可靠的文档结构   功能描述: 1.查找元素…
说起采集,其实我是个外行,以前拔过阿里巴巴的客户数据,在我博客的文章:C#+HtmlAgilityPack+XPath带你采集数据(以采集天气数据为例子) 中,介绍过采集用的工具,其实很Low的,分析Html,用开源的HtmlAgilityPack就很快解决问题了.我个人并不是技术特别深,所以只要是解决问题就OK了.但每一次需求并不是完全一致的,对上面那篇文章的采集,无需登录,是非常灵活的,但是这次碰到的稍微有点变态,虽然最后任务完成,但总结方案还是很low的,但觉得还是有必要分享出来,希望对以…
1.基本入门 1. 原理(建议阅读) 网页采集器的功能是获取网页中的数据(废话).通常来说,目标可能是列表(如购物车列表),或是一个页面中的固定字段(如JD某商品的价格和介绍,在页面中只有一个).因此需要设置其读取模式.传统的采集器需要编写正则表达式,但方法过分复杂. 如果认识到html是一棵树,只要找到了承载数据的节点即可.XPath就是一种在树中描述路径的语法.指定XPath,就能搜索到树中的节点. 有关XPath的详细信息,建议参考网上相关章节. 手工编写XPath也很复杂,因此软件可以通…
因为一些业务需求需要采集淘宝店铺商品的销售价格,但是淘宝详情页面的价格显示是通过js动态调用显示的.所以就没法通过普通的获取页面html然后通过正则或者xpath的方式获取到想到的信息了. 所幸我们现在有了casperjs.这个是一个基于Phantomjs的库,而Phantomjs则是一个服务器端的js api的webkit浏览器.是不是很神奇?真的是.net的以外的世界很神奇,我们要多走去看看. 好了,现在废话不多说,开始切入正题. 首先就是就是几个相关库的安装.安装过程很简单,相关内容大家百…