来搞个正则咯

问题描述

从某购物网站获取获取一些商品的标题、售价和销量标题就不多说了,售价只有数字和点,销量只有数字<!--以下为整个网页中我需要的数据的部分,删除了部分无用的元素例如图片啥的--><divclass="J_TItems"><divclass="item5line1"><!--这个理解为一行方便我描述--><dlclass="item"><!--这个理解为一项--><ddclass="detail"><aclass="item-nameJ_TGoldData">标题</a><divclass="attribute"><divclass="cprice-area"><spanclass="c-price">售价</span></div><divclass="sale-area"><spanclass="sale-num">销量</span></div></div></dd></dl><!--每行5项,且最后一项的class="itemlast"这样--></div><!--行数不定--></div>

大神们快来带我起飞

解决方案

解决方案二:
不知道我删除了一些不需要的元素会不会影响匹配啊(整体结构没有改变)
解决方案三:
还是xml解析的方式来吧,删除dom元素对正则有可能有影响
解决方案四:
引用2楼starfd的回复:

还是xml解析的方式来吧,删除dom元素对正则有可能有影响

我还想问下能不能用正则完成这个工作
解决方案五:
dom结构确定,当然能用正则,你要匹配的就是这段<ddclass="detail"><aclass="item-nameJ_TGoldData">标题</a><divclass="attribute"><divclass="cprice-area"><spanclass="c-price">售价</span></div><divclass="sale-area"><spanclass="sale-num">销量</span></div></div></dd>

解决方案六:
正则又不是万能的
解决方案七:
要考虑网页可能会变化。我更倾向于xpath路径+选择器进行匹配,而不是正则匹配。
解决方案八:
用xpath好一点吧。。。。。。
解决方案九:
比如这段是内容,<strongid="jd-price"class="p-price">¥6388.00</strong>绝对路径是/html/body/div[5]/div[3]/div/div[2]/div/div[3]/div[2]/div[2]/strong换成css选择器,div/div/div/div/strong[@"id"="jd-price"]那基本网页再怎么变化,都是正确匹配这个¥6388.00的了
解决方案十:
引用4楼starfd的回复:

dom结构确定,当然能用正则,你要匹配的就是这段<ddclass="detail"><aclass="item-nameJ_TGoldData">标题</a><divclass="attribute"><divclass="cprice-area"><spanclass="c-price">售价</span></div><divclass="sale-area"><spanclass="sale-num">销量</span></div></div></dd>

求点解一下咯引用5楼shingoscar的回复:

正则又不是万能的

引用6楼zhi_ai_yaya的回复:

要考虑网页可能会变化。我更倾向于xpath路径+选择器进行匹配,而不是正则匹配。

引用7楼qq_20324803的回复:

用xpath好一点吧。。。。。。

是这样的。。网页的标签不是很规范,会出现没有闭标签的标签,这个东西浏览器可以识别,但是用xml我不会,所以考虑一下正则
解决方案十一:
比如<meta>、<input>属性写对就可以了
解决方案十二:
本帖最后由 starfd 于 2016-07-05 10:32:35 编辑

时间: 2024-07-31 07:54:17

来搞个正则咯的相关文章

IPython4_Notebook

前言 最近又是CE认证又是折腾OpenSUSE,结果还把电脑给搞坏了.我的天,乖乖的安装Notebook吧.Eclipse就先再见了. 系统软件 OS  Window10 软件  Python 3.4.3 IPython 4.0.3 Setup IPython 这个以前写个Linux下Setup Python&IPython的,传送门:http://blog.csdn.net/jmilk/article/details/48093421  最近公司要求用Win(Sun the doge),那就再

asp.net中正则表达式

元字符[和]用来定义一个字符集合,其含义是必须匹配该集合里面的字符之一.   w:任何一个字母数字字符(大小写均可)或下划线字符(等价于[a-zA-Z0-9_]),只能匹配单个字符. W: 任何一个非字母数字或非下划线字符. s:任何一个空白字符(等价于[fnrtv]). S:任何一个非空白字符(等价于[^fnrtv]). https? 这个正则表达式的意思是:既可以匹配http,也可以匹配https,?在这里的含义是:我前面的字符(s)要么不出现,要么最多出现一次. {}大括号,它的最后一种用

求个正确的正则表达式

问题描述 <h1>科学家用蜘蛛治好脑局部缺血</h1><h2></h2>上面的字符我想捕捉<h1>和之间的内容</h1><h2></h2>不是多此一举(你可能说:<h1>[sS]+</h1>:这个我可以捉到但是我想更准确些)因为</h1>和<h2>换行了并且有空格于是我想用这个式子做<h1>[sS]+</h1>s+<h2>哎~~

黑窝点用双氧水泡猪脚生意好日均产两三千斤

在东岸乡一黑窝点,墙角的水缸里用双氧水浸泡着猪脚. 经过两天暗访,记者发现了位于长沙市芙蓉区东岸乡西龙三组一民房的猪脚黑窝点,窝点工作人员称,他们的猪脚生意很好,每天可以加工生产两三千斤,如果需要可以送货上门.今日下午,记者将情况反映给了工商部门,执法人员发现不法商贩竟用工业双氧水泡制食品,并端掉了该窝点. 每天可加工两三千斤猪脚 "东岸乡附近有间加工猪脚的黑窝点,每天凌晨2点猪脚到货,通宵达旦加工,一直到晚上八九点才消停."市民廖先生拨打本报新闻热线称,自己原本租住在那里,由于每晚噪

这个js的正则表达为什么搞不动用innerHTML得到字符串?

问题描述 各位大侠,帮忙看下这个js的正则表达为什么搞不动用innerHTML得到字符串?用var tStr = "https:2222";都可以搞,用innerHTML得到字符串就搞不动,这是为神码?<html><head><script language="javascript" type="text/javascript" src="demo.js" >https:1111 https

一夜未睡,这个正则搞不定。

问题描述 abc如何匹配abc,这只是个例子,不能把换行替换空,字符数也不定. 解决方案 解决方案二:有点困难哦解决方案三:什么意思呀?是要匹配这样的三行还是只匹配这三个字符?[abc]解决方案四:????????????解决方案五:表达不清-1解决方案六:(?<=a)(w|W)*?(?=b)(w|W)*?(?=c)解决方案七:关注学习一下

如何利用6个摄影构图法搞定设计布局?

  摄影设计双学习!今天腾讯的同学一边聊摄影,一边聊设计,总结了6个实用的摄影技巧,同样适合拿来搞定网页设计中的布局,设计是主,摄影是客,客从主意,帮你快速理解网页上的构图,来学习咯. 小K :一幅好照片要把观众的注意力吸引到趣味中心的被摄主体上.无论是拍什么类型的照片,都会有一个主体.你喜欢拍人物,拍生态,这些都不是问题,但是一旦主体被模糊,欣赏照片时就会忽略照片的主体,这样的照片是不失败不完美的,因为真正想让观众看的东西并没有一眼看到.例如婚纱照,主体肯定是人物新娘和新郎.如果目光都被新娘后

VC6下正则greta库的测试和使用手记

文本字符串的处理.分析一直是写程序中不可避免的问题,长时间以来,自己对正则表达式这个纸老虎一直退避三舍.也许是懒的缘故吧,一般遇到字符串处理问题的时候,都是自己写个小程序完事,但工作效率实在是低下,做的多了就有点烦--都是重复性工作.昨天闲着没事,终于下决心看看正则了,很欣喜,收获还是不小的. 关于正则表达式的学习,推荐这篇文章,"正则表达式三十分钟入门",我这么零基础的人,边看边练,两个小时确实是入门了,所以强烈推荐.其他关于正则的详细内容就不说了,不属于本文讨论的内容,下面言归正传

VBS 正则判别素数(质数)

利用正则判别素数,来源于网络,神人! 复制代码 代码如下: Set regex = New RegExp regex.Pattern = "^1?$¦^(11+?)1+$" For i = 1 To 100  If Not regex.Test(String(i,"1")) Then   WScript.Echo i  End If Next 看到标题你一定会不屑一顾,枚举质数谁不会? 复制代码 代码如下: For i = 1 To 100  For j = 2 T