1
staticor 2015-04-14 18:16:41 +08:00 1
我也不熟悉bs4, 楼主可以尝试一下先查看html文档, 熟悉熟悉基本结构.
<head> <body> <td>... 什么的 然后就把html当成一个很长的字符串, 用正则分割处理一下. 这个搞利落的咱们再找找更优雅的方式吧 |
2
staticor 2015-04-14 18:28:12 +08:00
source = open(file1, 'r').read()
print(source.split('<title>')[1].split('</title>')[0]) 这里没用正则, 就是str的最基本的split函数. 希望有所帮助 (我也是抛砖引玉了) |
3
saki 2015-04-14 19:41:22 +08:00 1
如果不复杂的话,直接用HTMLPaser就可以了,可以提取指定标签
https://docs.python.org/2/library/htmlparser.html 栗子: http://www.pythonclub.org/python-files/htmlparser 只要<body> 提取出来,随便你写成什么格式 |
4
icedx 2015-04-14 20:16:48 +08:00 via Android 1
Out=[]
Pass=0 for char in page: if Pass=0: if char=='<': Pass=1 continue else: if char=='>' Pass=0 continue else: Out.append(Char) else: pass Fatch=''.join(Out) 既然楼主不是伸手党 补全缩进就可以用了 |
5
tinybvjk 2015-04-14 21:50:21 +08:00 1
readability提供了提取正文的api,返回的html可以使用amazon kindlegen生成mobi格式
|
6
icedx 2015-04-14 22:24:02 +08:00
不对 我那个不能用...
|
7
icedx 2015-04-14 22:35:14 +08:00
|
8
ztmark 2015-04-14 23:01:00 +08:00 1
|
9
xiaoboost 2015-04-14 23:07:28 +08:00 1
mobi?想要在kindle上看的是吗?
我以前用正则提取的,最后程序把正文存成docx文件,发到自己kindle邮箱 mobi是亚马逊自己的格式,不开源的,貌似没有现成的制作方法吧 |
10
crccw 2015-04-15 01:42:07 +08:00 via Android
BeautifulSoup挺好用的啊。。
|
11
endoffight 2015-04-15 07:42:22 +08:00 via Android
更直观的话,我给楼主推荐
pyquery |
12
endoffight 2015-04-15 07:47:04 +08:00 via Android
|
13
metrue 2015-04-15 08:47:32 +08:00
http://get.jobdeer.com/122.get 可以参考实现。
|
14
XcodeUser 2015-04-15 08:58:03 +08:00
学下xpath,然后用lxml不就挺好挺快吗
|
15
hatni OP @icedx 感谢你的代码,刚刚试了下打开乱码,手动添加了网页编码 可行。我经管系,自学python,看了点Html CSS,陆续几个月始终没入门JavaScript。
|
16
hatni OP @endoffight pyquery ,这个需要懂Jquery,计划准备学,
|
17
BOYPT 2015-04-15 09:41:28 +08:00
@hatni pyquery 和jquery可没什么关系,共同个的是,pyquery和jquery都实现了类似的css选择器的功能。
|
18
MayLava 2015-04-15 09:44:14 +08:00
pyquery+html2text 直接转成markdown格式
|
19
hatni OP 多谢各位的帮助,我只刚看完《Learn Python the Hard Way》。Beautiful Soup 、xpath 、xml 、 pyquery 、正则表达式,上面各种 新手应该按照怎样的难易顺序来学。
|
21
Loop680 2015-04-15 10:15:14 +08:00
我之前做了一个提取PDF内容转换成TXT的小工具,用的是正则做的。
|
22
fburst 2015-04-15 16:27:53 +08:00 1
这个我试过很多种方案,
beautfulsoup虽然没用过,但是应该是效果最好的。 其他的那些库容错率太低了,少个引号什么的都不行。比如<body>标签,html5标准里是可以不闭合的,也解析不出。 有瑕疵的网页还是比较多的,就算163什么的也免不了。 目前方案是selenium直接对接firefox。通过firefox的解析器解析html,然后js直接提取词条。这样firefox解析成什么样,我得到的就是什么。 |