1、正文抽取地址

https://github.com/buriy/python-readability

【安装】

pip install readability-lxml

【测试】

python -m readability.readability -u

http://www.douban.com/note/320982627/

【PATH依赖】

export PYTHONPATH=/usr/local/lib/python2.7/site-packages

必须是2.7的PYTHON,所以必须这么搞,还得看看怎么让PYTHON2.7和PYTHON3.3共存

=============================================================================

2、官方例子

==============================================================================

3、清理HTML

项目地址

https://github.com/aaronsw/html2text

【安装】

pip install html2text

【代码】

==============================================================================

4、优化抓取

http://www.python-requests.org/en/latest/

【安装】

pip install requests

【使用】

import requests

r = requests.get('

https://github.com/timeline.json')

还可以发起其它几种的req

>>> r = requests.put("

http://httpbin.org/put")

>>> r = requests.delete("

http://httpbin.org/delete")

>>> r = requests.head("

http://httpbin.org/get")

>>> r = requests.options("

http://httpbin.org/get")

r.text

u'[{"repository":{"open_issues":0,"url":"

https://github.com/...

【POST请求】

>>> payload = {'key1': 'value1', 'key2': 'value2'}

>>> r = requests.post("

http://httpbin.org/post", data=payload)

>>> print r.text

{

...

"form": {

"key2": "value2",

"key1": "value1"

},

...

}

==============================================================================

5、PYTHON3.3和PYTHON2.7的共存?

export PYTHONPATH=/usr/local/lib/python3.3/site-packages

==============================================================================

6、关键词提取

【项目地址】

https://github.com/isnowfy/snownlp

【安装】

pip install snownlp

【使用】

from snownlp import SnowNLP

text = u'''

自然语言处理是计算机科学领域与人工智能领域中的一个重要方向。

它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法

自然语言处理是一门融语言学、计算机科学、数学于一体的科学。

因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,

所以它与语言学的研究有着密切的联系,但又有重要的区别。

自然语言处理并不是一般地研究自然语言,

而在于研制能有效地实现自然语言通信的计算机系统,

特别是其中的软件系统。因而它是计算机科学的一部分。

'''

s = SnowNLP(text)

s.keywords(3) # [u'语言', u'自然', u'计算机']

==============================================================================

7、包装成HTTP服务

2、代码

# -*- coding: utf-8 -*-

import tornado.ioloop

import tornado.web

import json

import html2text

import requests

from readability.readability import Document

from snownlp import SnowNLP

class MainHandler(tornado.web.RequestHandler):

def get(self):

url = self.get_argument('url')

html = requests.get(url).content

summary = Document(html).summary()

text = html2text.html2text(summary);

s = SnowNLP(text)

keywords = s.keywords(3)

self.write(json.dumps(keywords,ensure_ascii=False))

application = tornado.web.Application([

(r"/", MainHandler),

])

if __name__ == "__main__":

application.listen(8888)

tornado.ioloop.IOLoop.instance().start()

==================================

3、客户端测试用代码:

代开console

var xhr = new XMLHttpRequest();

var fd = new FormData();

fd.append('text', "我们都在不断赶路");

xhr.open('POST', '

http://localhost:8888', true);

xhr.send(fd);




HTTPX 基础教程-新乡seo|网站优化,网站建设_微信公众号:zeropython—昊天博客