输入关键字 抓取所有网页(一个用jieba写一个CMS系统的网页迁移过去,目标就是 )
优采云 发布时间: 2021-10-10 10:27输入关键字 抓取所有网页(一个用jieba写一个CMS系统的网页迁移过去,目标就是
)
最近打算用django写一个cms系统来迁移单位的网页。我在网上找到了一个博客系统,但我并不满意。我需要自己输入摘要和标签。目标是使它们自动化。 .
在从事爬虫和接触类似库之前,可读性、鹅等都可以实现文本摘要。解霸具有提取标签的功能。
goose 的主要功能是根据 URL 提取文本和标题。使用的主要库有urllib2、beautifulsoup;有的网页用goose不能提取文字,只能获取标题,所以用内容比较好,目录页和首页不好用。
用法如下:
from goose import Goose
from goose.text import StopWordsChinese
g = Goose({'browser_user_agent': 'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0) ','stopwords_class': StopWordsChinese})
article = g.extract(url=url)
url = 'http://blog.csdn.net/u011617072/article/details/12624855'
print article.titleprint article.cleaned_text[:]
Goose 并不能真正满足需求。比较简单的就是html2text,或者htmlparse,甚至是简单粗暴的正则表达式。
# -*- coding: utf-8 -*-
from HTMLParser import HTMLParser
class MLStripper(HTMLParser):
def __init__(self):
self.reset()
self.fed = []
def handle_data(self, d):
self.fed.append(d)
def get_data(self):
return ''.join(self.fed)
def strip_tags(html):
s = MLStripper()
s.feed(html)
return s.get_data()
提取关键词使用jieba比较简单,默认提供TF/IDF权重最高的20个词。
import jieba
import jieba.analyse
def extract_tags(content,topk):
content = content.strip()
tags=jieba.analyse.extract_tags(content, topK=topk)
return ','.join(tags)