如题,比如我想将SF的这个问题页的纯文本(不包括html标签,就是我们直接看到的纯文本)提取出来,有啥子好方法?或者说有专门干这事的类库没有?
只取文字?
php用xpath
在R中很容易实现,比如用rvest包
可以试试我做Hacker news digest时撸的正文提取库,目前看来效果非常好,hacker news上发的链接绝大部分都能提取出来。
https://github.com/polyrabbit/hacker-news-digest/tree/master/page_content_extractor
正则就是可以了。
我用 Python 纯正则提取了好多招聘网站的招聘信息,做成了 CodeJob
LZ 用js 来取可以么?
console.log(document.body.innerText)
innerHtml 所有节点和内容
innerText 所有非节点内容
PHP 原生函数有个…… strip_tags()
这篇文章的方法基本可以满足提取正文的需求 我为开源做贡献,网页正文提取——Html2Article
Python可以使用Beautiful Soup库的get_text()方法,可以获取一个标签以及其子孙标签内所有的文本的内容,
Beautiful Soup 4.2.0 文档
找一个解析html的库,比如说python有HTMLParser,sgmllib,htmllib
然后你解析一把它应该会变成一棵树,你就遍历一下找自己要的东西拿走
我只处理过xml不过应该差不多就是这么来的...
我不介意这种事情还用一些这样那样的库,如果题主想要一劳永逸的话,去学习正则吧,任何一门语言都支持的
我不会告诉你我用
html2text
html2text is a Python script that converts a page of HTML into clean, easy-to-read plain ASCII text. Better yet, that ASCII also happens to be valid Markdown (a text-to-HTML format).
Usage: html2text.py [(filename|url) [encoding]]
找个能模拟浏览器引擎的
然后
var html = document.getElementsByTagName('html')[0]
text = html.innerTEXT
这样的东西node_module有很多如: jsdom, cheerio
php 有Snoopy库 可以直接抓取网页的文本内容 (去除HTML标签)
fetch一下
我用正则提取的
PHP有很多爬虫框架可以使用:网页抓取:PHP实现网页爬虫方式小结
再来一个Javascript的:PhantomJS
这个比较适合类似的需求,也经常被用于进行网页截图一类的工作。
官方网站:phantomjs.org
用一个正则把 html 便签都替换成空,然后把空格都替换成空就可以了吧,哪有前面各位说的那么复杂。
特定的网站,可以按照html dom 来抽取你要的数据。非常快捷。
可能题主想要这样的:
或者是这样的:
Java可以用Jsoup实现:
<dependency>
<groupId>org.jsoup</groupId>
<artifactId>jsoup</artifactId>
<version>1.7.3</version>
</dependency>