1
abelyao 2015-08-31 18:19:44 +08:00
正则表达式…
|
2
seki 2015-08-31 18:22:21 +08:00
|
3
adrianzhang OP |
4
abelyao 2015-08-31 18:40:50 +08:00
@adrianzhang 如果确定标签、以及标签属性都是固定的,那这样确实是最方便的
|
5
secondwtq 2015-08-31 18:44:40 +08:00
|
6
adrianzhang OP |
7
abelyao 2015-08-31 18:48:56 +08:00
@adrianzhang 正则也是一句搞定,思路就是取第一个 <> 开始的内容,到最后一个 </> 结束之前。
|
8
iniwap 2015-08-31 18:50:11 +08:00
。。。太不优雅了
|
9
firemiles 2015-08-31 18:53:53 +08:00 1
str1.replace ('<string xmlns="http://schemas.microsoft.com/2003/10/Serialization/">','').replace ('</string>','')
是不是更好看点 |
10
adrianzhang OP |
11
em70 2015-08-31 19:38:19 +08:00
#提取任意两个字符串之间的内容
def txt_wrap_by (html,start_str, end,y ): start = html.find (start_str ) if start >= 0: start += len (start_str ) end = html.find (end, start ) if end >= 0: return html[start:end].strip () |
12
adrianzhang OP |
13
abelyao 2015-08-31 19:55:22 +08:00 via iPhone
@adrianzhang 思路都说了还 show me the code 呵呵
|
14
em70 2015-08-31 20:00:41 +08:00
@adrianzhang 函数都给你定义了,不就是 txt_wrap_by 一行代码搞定了吗,python 没有这种内置函数,PHP 有,要不你换个语言?
|
15
adrianzhang OP @em70 明白了。谢谢。
|
16
zhicheng 2015-08-31 20:13:52 +08:00 via Android 4
烂代码和烂系统就是这么来的。
|
17
secondwtq 2015-08-31 20:24:45 +08:00 2
感觉有时候总是要 oneliner 不是什么好习惯呢。
借一下 2 楼的资料: import xml.etree.ElementTree xml.etree.ElementTree.fromstring ('<somestring>').text |
18
hsyu53 2015-08-31 20:26:30 +08:00 via Android
lxml 专干个事的
|
19
bbking 2015-08-31 20:33:05 +08:00
xml.dom, lxml 都可以
|
20
adrianzhang OP @secondwtq 原来是这样实现?!没提问题之前看这个库看得头晕。终于找到我认为的最优解了。多谢! 10 个铜板奉上!
|
21
racal 2015-09-01 00:54:46 +08:00 via Android
用正则轻松解决
|
22
TimePPT 2015-09-01 11:47:52 +08:00
Beautiful Soup 你值得拥有
|
23
TimePPT 2015-09-01 11:52:16 +08:00
好吧,没仔细审题,最好标准库...
|
24
guoqiao 2015-09-03 07:32:01 +08:00
关于这个问题, 如果只是一次性的, 我目前见到的最有创意的方法, 是在浏览器的控制台里, 用 jQuery 的选择器, 一行代码搞定. jQuery 虽然是针对 html 设计的, 但是在 xml 上一样好用.
即使不是一次性的, 也可以考虑用 Phantomjs + JQuery 等 JS 解决方案, 应当是最优雅的. 说 BS, PyQuery, lxml 的各位, 且不说这个几个库是否好用, 光是安装它们时的依赖问题, 就够让人烦的. |
25
adrianzhang OP @guoqiao 这是 python 程序编写过程中的一个小坎坷,用 jQuery 岂不是要安装相关的东东?我认为比较好的那个回复,采用的是标准库,不需要安装什么的。
|