由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - 如何从html文件里提出中文
相关主题
5千至1万个左右的小网页采用什么结构存储呢?请教:JavaScript怎么复制一个node(含子节点)? (转载)
web.xml请问有那些好工具可以调试html和js
问个XPath的问题Help please.
在线等...Java怎么读XPath?如何从程序里自动访问网站?
有没有对xml文件进行类似sql直观查询的工具? (转载)ajax也能做这么fancy的网游!
web service找不到网页的内容
出个题目: 给二手版加自动match功能请问在ASP.net中用Javascript的一个问题
推荐个html parser的库?大家 JavaScript 用的多么?
相关话题的讨论汇总
话题: html话题: 中文话题: 提取话题: 网站话题: 字节
进入Programming版参与讨论
1 (共1页)
t*****n
发帖数: 1589
1
下载了大量html文件,问下怎么提出中文并分别保存,多谢了
h*******s
发帖数: 8454
2
可以用python
用lxml来处理dom
我上个月写过一个网站文章下载合并的script,就用它来着

【在 t*****n 的大作中提到】
: 下载了大量html文件,问下怎么提出中文并分别保存,多谢了
a9
发帖数: 21638
3
如果是要提取所有的中文字符,就根据其编码(utf-8?gbk?gb2312)来看。
一般中文字符是双字节或多字节(utf8),第一个字节大于128.

【在 t*****n 的大作中提到】
: 下载了大量html文件,问下怎么提出中文并分别保存,多谢了
t*****n
发帖数: 1589
4
下载了大量html文件,问下怎么提出中文并分别保存,多谢了
h*******s
发帖数: 8454
5
可以用python
用lxml来处理dom
我上个月写过一个网站文章下载合并的script,就用它来着

【在 t*****n 的大作中提到】
: 下载了大量html文件,问下怎么提出中文并分别保存,多谢了
a9
发帖数: 21638
6
如果是要提取所有的中文字符,就根据其编码(utf-8?gbk?gb2312)来看。
一般中文字符是双字节或多字节(utf8),第一个字节大于128.

【在 t*****n 的大作中提到】
: 下载了大量html文件,问下怎么提出中文并分别保存,多谢了
t*****n
发帖数: 1589
7
then how? can u further explain thx

【在 a9 的大作中提到】
: 如果是要提取所有的中文字符,就根据其编码(utf-8?gbk?gb2312)来看。
: 一般中文字符是双字节或多字节(utf8),第一个字节大于128.

L***n
发帖数: 6727
8
各网站通用很难吧,对单个特定网站做简单点

【在 h*******s 的大作中提到】
: 可以用python
: 用lxml来处理dom
: 我上个月写过一个网站文章下载合并的script,就用它来着

t****t
发帖数: 6806
9
你是哪部分不懂? 不能指望别人手把手教/替你写吧.

【在 t*****n 的大作中提到】
: then how? can u further explain thx
x****u
发帖数: 44466
10
中文就那么几种编码,处理起来简单的很。
先查html header,如果说明了直接用,没说明的话,依次转换成gbk,utf-8,看看哪
个错误率低就用哪个。

【在 L***n 的大作中提到】
: 各网站通用很难吧,对单个特定网站做简单点
相关主题
web service请教:JavaScript怎么复制一个node(含子节点)? (转载)
出个题目: 给二手版加自动match功能请问有那些好工具可以调试html和js
推荐个html parser的库?Help please.
进入Programming版参与讨论
L***n
发帖数: 6727
11
对,编码容易处理,但是你要吧内容提出来就要parse html了,就算用dom模型,也不
是trivial的吧。我也试过,没有什么通用的办法。

【在 x****u 的大作中提到】
: 中文就那么几种编码,处理起来简单的很。
: 先查html header,如果说明了直接用,没说明的话,依次转换成gbk,utf-8,看看哪
: 个错误率低就用哪个。

x****u
发帖数: 44466
12
提取中文容易啊,把尖括号以外的东西搞出来,然后一一检查。

【在 L***n 的大作中提到】
: 对,编码容易处理,但是你要吧内容提出来就要parse html了,就算用dom模型,也不
: 是trivial的吧。我也试过,没有什么通用的办法。

t*****n
发帖数: 1589
13
我得好好research以下,我没有编程基础

【在 t****t 的大作中提到】
: 你是哪部分不懂? 不能指望别人手把手教/替你写吧.
t*****n
发帖数: 1589
14
请问怎么检查?

【在 x****u 的大作中提到】
: 提取中文容易啊,把尖括号以外的东西搞出来,然后一一检查。
h*******s
发帖数: 8454
15
嗯 就写了一个专门搞西西河的,因为当时有人求下载一个200多页的高楼。。。
各种网站通吃太难了,压根都没这想法。。。

【在 L***n 的大作中提到】
: 各网站通用很难吧,对单个特定网站做简单点
a9
发帖数: 21638
16
如果是这样,那应该说楼主的问题问的不对。
应该问如何提取网页内容,而不是说提取中文。呵呵

【在 h*******s 的大作中提到】
: 嗯 就写了一个专门搞西西河的,因为当时有人求下载一个200多页的高楼。。。
: 各种网站通吃太难了,压根都没这想法。。。

L***n
发帖数: 6727
17
你没明白他的问题,不是简单提取中文而是提取内容。很多metainfo都有中文,你这么
搞就弄乱了。

【在 x****u 的大作中提到】
: 提取中文容易啊,把尖括号以外的东西搞出来,然后一一检查。
L***n
发帖数: 6727
18
我做了个搞mitbbs和文学城的,嘿嘿,可以交流一下,我觉得可以写个框架,不同网站
用针对性的script来解决。我也是用python lxml

【在 h*******s 的大作中提到】
: 嗯 就写了一个专门搞西西河的,因为当时有人求下载一个200多页的高楼。。。
: 各种网站通吃太难了,压根都没这想法。。。

h*******s
发帖数: 8454
19
呵呵 我的代码扔在
http://code.google.com/p/cchere-thread-saver/source/browse/trun

不过用的都是最初级的东西,没多少技术含量~~

【在 L***n 的大作中提到】
: 我做了个搞mitbbs和文学城的,嘿嘿,可以交流一下,我觉得可以写个框架,不同网站
: 用针对性的script来解决。我也是用python lxml

L***n
发帖数: 6727
20
我是想搞清楚,比如我有了一个html element tree, 好,我吧element拿出来,
下面可能还有一堆

之类的东东,就算是text里面可能也有很多象回信给
作者,回信给本版这样没用的noise.如果我想吧有内容的那一块找出来,可以不可以把
操作抽象成比较简单比较整洁的形式,regular expression可能不错,但是我觉得太大
了,真正需要的操作可能是regular expression的一个subset,另外规则写起来也不直
观,如果maintain可能几个月后就忘了这个re是干什么用的了,最好是有一种更简洁的
类似于script的东西,能抽象提取内容所需要的操作,或者就是regular expression上
定义一些函数?现在没时间多搞,只能慢慢想想,hehe

【在 h*******s 的大作中提到】
: 呵呵 我的代码扔在
: http://code.google.com/p/cchere-thread-saver/source/browse/trun
: 了
: 不过用的都是最初级的东西,没多少技术含量~~

相关主题
如何从程序里自动访问网站?请问在ASP.net中用Javascript的一个问题
ajax也能做这么fancy的网游!大家 JavaScript 用的多么?
找不到网页的内容看来你们是真心没做过web啊
进入Programming版参与讨论
h*******s
发帖数: 8454
21
没太明白你的问题,我也是自己学着玩儿的,原来一点儿都不懂网页的这些东西
如果有了一个tree 你可以直接去找你要的那个
之类的啊,但是一般这需要网页的
结构比较规律和固定,类似于mitbbs这种生成的html代码肯定没问题吧
我一般是用firebug看网页的源码,然后找到要找内容的位置,然后拿xpath啥的提取出来
如果你要把文章题目什么的弄出来应该这样就行了,但是如果你要把文章内容里面的某
个部分提取,那恐怕就用到re了吧,我还写了一个提取email的,也在那个目录下
不知道为啥,西西河那个网页是拿javascript生成的,如果直接抓文件抓来的html是一
团乱,后来灵机一动看了看它的js源码,发现就是挺简单一个字符替换,换完了就得到
最后浏览器解释出来的html了

【在 L***n 的大作中提到】
: 我是想搞清楚,比如我有了一个html element tree, 好,我吧element拿出来,
: 下面可能还有一堆

之类的东东,就算是text里面可能也有很多象回信给
: 作者,回信给本版这样没用的noise.如果我想吧有内容的那一块找出来,可以不可以把
: 操作抽象成比较简单比较整洁的形式,regular expression可能不错,但是我觉得太大
: 了,真正需要的操作可能是regular expression的一个subset,另外规则写起来也不直
: 观,如果maintain可能几个月后就忘了这个re是干什么用的了,最好是有一种更简洁的
: 类似于script的东西,能抽象提取内容所需要的操作,或者就是regular expression上
: 定义一些函数?现在没时间多搞,只能慢慢想想,hehe

L***n
发帖数: 6727
22
哦,不知到cchere还有这个trick,呵呵,我只是想不对每个网站都开发一遍,尽量把
通用部分和针对网站的特殊部分开。xpath也是一办法了,你怎么处理那些回信到本版
,或者广告之类的text的?

出来

【在 h*******s 的大作中提到】
: 没太明白你的问题,我也是自己学着玩儿的,原来一点儿都不懂网页的这些东西
: 如果有了一个tree 你可以直接去找你要的那个
之类的啊,但是一般这需要网页的
: 结构比较规律和固定,类似于mitbbs这种生成的html代码肯定没问题吧
: 我一般是用firebug看网页的源码,然后找到要找内容的位置,然后拿xpath啥的提取出来
: 如果你要把文章题目什么的弄出来应该这样就行了,但是如果你要把文章内容里面的某
: 个部分提取,那恐怕就用到re了吧,我还写了一个提取email的,也在那个目录下
: 不知道为啥,西西河那个网页是拿javascript生成的,如果直接抓文件抓来的html是一
: 团乱,后来灵机一动看了看它的js源码,发现就是挺简单一个字符替换,换完了就得到
: 最后浏览器解释出来的html了
h*******s
发帖数: 8454
23
哦 原来你在说通用的设计,那我倒是想过,但是觉得没有任何办法。。。
唯一我觉得靠谱的方法就是对每个网站定义一堆参数,比如每个thread的基本格式之类
的,所有的网站的参数手工确定,存到一个数据库文件里,然后下载不同网站的时候调
用不同的格式。。。
但是估计外面的论坛类网站可以有个trick,因为他们很多都是用几个平台的,估计这
几个平台生成的代码样式应该都差不多?

【在 L***n 的大作中提到】
: 哦,不知到cchere还有这个trick,呵呵,我只是想不对每个网站都开发一遍,尽量把
: 通用部分和针对网站的特殊部分开。xpath也是一办法了,你怎么处理那些回信到本版
: ,或者广告之类的text的?
:
: 出来

g*****g
发帖数: 34805
24
只是要过滤出纯文本,可以通用。要指定thread内容下载,
只能一个一个来。而且网站一改就得跟着改。

【在 h*******s 的大作中提到】
: 哦 原来你在说通用的设计,那我倒是想过,但是觉得没有任何办法。。。
: 唯一我觉得靠谱的方法就是对每个网站定义一堆参数,比如每个thread的基本格式之类
: 的,所有的网站的参数手工确定,存到一个数据库文件里,然后下载不同网站的时候调
: 用不同的格式。。。
: 但是估计外面的论坛类网站可以有个trick,因为他们很多都是用几个平台的,估计这
: 几个平台生成的代码样式应该都差不多?

h*******s
发帖数: 8454
25
对啊,所以我想可能可以做成想jdownloader那样的,找些小弟专门参数化模板

【在 g*****g 的大作中提到】
: 只是要过滤出纯文本,可以通用。要指定thread内容下载,
: 只能一个一个来。而且网站一改就得跟着改。

L***n
发帖数: 6727
26
参数可能还不够灵活,这就是我现在梦想创造一个小script语言干这事,说起来好听够
裤,哈哈,其实python是functional的,re+lambda+xpath已经可以完成所有这种工作
了。最简单的用一个表,叫rulebook吧,内容可以是re或者是lambda,一条一条用就行
了。但是maintain这个表可能比较头痛

【在 h*******s 的大作中提到】
: 对啊,所以我想可能可以做成想jdownloader那样的,找些小弟专门参数化模板
r****t
发帖数: 10904
27
check out beautifulsoup for this sort of thingss, written after rubysoup. It
even sniffs 编码
1 (共1页)
进入Programming版参与讨论
相关主题
大家 JavaScript 用的多么?有没有对xml文件进行类似sql直观查询的工具? (转载)
看来你们是真心没做过web啊web service
这个网站是怎么在源码中隐藏url地址的?出个题目: 给二手版加自动match功能
求建议, 最佳javascript debugger推荐个html parser的库?
5千至1万个左右的小网页采用什么结构存储呢?请教:JavaScript怎么复制一个node(含子节点)? (转载)
web.xml请问有那些好工具可以调试html和js
问个XPath的问题Help please.
在线等...Java怎么读XPath?如何从程序里自动访问网站?
相关话题的讨论汇总
话题: html话题: 中文话题: 提取话题: 网站话题: 字节