Python 板


LINE

各位先进大家好 小弟最近为了要抓一些资料所以刚接触python这个程式 目前已经可以抓取网页原始码以及找出element内的text 不过有很多资讯是我不需要的,所以想问问看大大们有甚麽方式可以用lxml过滤 以下为部分原始码,网站链结我砍掉了部分 每个id後面都有一串文字,我想要透过那串文字去过虑我要的资料 例如id="ctl00_ContentPlaceHolder1_gvStock_ctl02_hyNumber 我想要用ctl00_ContentPlaceHolder1_gvStock作为过滤条件并且用hyNumber作分类 请各位大大能否指点一下,谢谢。 <a id="ctl00_ContentPlaceHolder1_gvStock_ctl02_hyNumber" href="http://corpinfocn.aspx?stockno=2429" target="_blank">2429</a></td><td> <a id="ctl00_ContentPlaceHolder1_gvStock_ctl02_hyStock" href="http://corpinfocn.aspx?stockno=2429" target="_blank">铭旺科</a></td><td> <span id="ctl00_ContentPlaceHolder1_gvStock_ctl02_lblPrice" style="color:White;background-color:Red;">45.15</span></td><td> <span id="ctl00_ContentPlaceHolder1_gvStock_ctl02_lblDifference" style="color:White;background-color:Red;">▲2.95</span></td><td> <span id="ctl00_ContentPlaceHolder1_gvStock_ctl02_lblPercent" style="color:White;background-color:Red;">+6.99%</span></td><td> <span id="ctl00_ContentPlaceHolder1_gvStock_ctl02_lblWeekPercent" style="color:Red;">21.70%</span></td><td> <span id="ctl00_ContentPlaceHolder1_gvStock_ctl02_lblAmplitude">5.09%</span></td><td> <span id="ctl00_ContentPlaceHolder1_gvStock_ctl02_lblHigh" style="color:Red;">45.15</span></td><td> <span id="ctl00_ContentPlaceHolder1_gvStock_ctl02_lblLow" style="color:Red;">43.00</span></td><td> <span id="ctl00_ContentPlaceHolder1_gvStock_ctl02_lblLast">42.20</span></td><td> <span id="ctl00_ContentPlaceHolder1_gvStock_ctl02_lblVolume" title="17,000 股">17</span></td><td> <span id="ctl00_ContentPlaceHolder1_gvStock_ctl02_lblMoney" title="17,000 股">0.01</span></td> --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 59.124.199.162
1F:→ kilfu0701:xpath + EXSLT ? 06/11 12:54
2F:→ vagrants:BeautifulSoup如何? 可以用regular expression找 06/11 19:23
3F:→ vagrants:http://goo.gl/pZZXb 06/11 19:24
当初就是看到相关文章说BS的效率蛮差的,所以没用 RE我是有想过,不过用了lxml我就觉得再用RE过滤感觉多此一举 目前程式如下 import urllib from lxml eterr html=urllib.urlopen('http:// ').read() elements=etree.HTML(html) text=element.xpath(u"//a") for element in elements: print element.text 我想在text=element.xpath(u"//a")这里面顺便加过滤字串 在ctl00_ContentPlaceHolder1_gvStock_ctl02_lblMoney 把ctl00_ContentPlaceHolder1_gvStock作为过滤条件 把lblMoney作为分类条件 如果只能用RE去过滤的话,请大大告知一下,顺便跟我说一下RE的效率如何,谢谢。 ※ 编辑: u9211008 来自: 59.124.199.162 (06/13 13:04)
4F:→ kilfu0701:http://pastie.org/8038139 lxml的话 我是这样处理 XD 06/13 13:16
5F:→ u9211008:感谢K大的帮忙,现在可以捞出想要的资料了 06/13 17:39
6F:→ u9211008:接下来我先试试看如何将抓下来的资讯分类与排版 06/13 17:40
7F:推 vagrants:推~ 学到了不少东西 06/13 18:04
经由k大的指点已经能够抓取相关id的资料了,不过有时候会抓不到一些资料 其原因询问过k大後才知道子节点的内容有可能会没抓到,k大帮我解决这问题了 我把完整的程式码放上 # -*- coding: utf-8 -*- import urllib import lxml.etree html=urllib.urlopen('http:// ').read() tree=lxml.etree.HTML(html) regexpNS = "http://exslt.org/regular-expressions" hrefs = tree.xpath("//a[re:match(@id, 'ctl00_ContentPlaceHolder1_gvStock(.*)')]|\ //span[re:match(@id, 'ctl00_ContentPlaceHolder1_gvStock(.*)')]", namespaces={'re': regexpNS}) for href in hrefs: print "".join(href.itertext()) ※ 编辑: u9211008 来自: 124.219.26.45 (06/17 20:18)
8F:→ swpoker:我还是喜欢re字串 06/18 10:29







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Gossiping站内搜寻

TOP