首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >文本清洗蟒蛇

文本清洗蟒蛇
EN

Stack Overflow用户
提问于 2014-07-21 17:03:06
回答 1查看 898关注 0票数 0

我写了一个代码,在那里我拉文本,然后搜索句子使用关键字。我得到了以下输出:

许多市场观察人士引用了云的真正价值所在,而它却在往上移动。‘,’,我们并没有放弃我们的系统空间,但我认为我们正在更具体地说明哪些部分适合增长,而ibm内部的每一个元素都需要证明它是我们前进的理由,我认为这是宣布.& rdquo的背景;这与罗梅蒂在她的年度信中所写的话产生了共鸣,她告诉股东,今年最大的挑战将是将ibm硬件业务转变为新的现实和机遇.& rdquo。

我不知道这些东西是什么,伊德克,它破坏了这段文字。下面是我的代码

代码语言:javascript
复制
br = mechanize.Browser()
br.set_handle_robots(False)
br.addheaders = [('User-agent','Chrome')]
html = br.open(url).read()
titles = br.title()
readable_article= Document(html).summary()
readable_title = Document(html).short_title()
soup = bs4.BeautifulSoup(readable_article)
Final_Article = soup.text
final.append(titles)
final.append(url)
final.append(Final_Article)
raw = nltk.clean_html(html)
tokens = nltk.wordpunct_tokenize(raw)
lmtzr = WordNetLemmatizer()
t = [lmtzr.lemmatize(t) for t in tokens]
text = nltk.Text(t)
word = words(n)
find = ' '.join(str(e) for e in word)
search_words = set(find.split(' '))
sents = ' '.join([s.lower() for s in text])
blob = TextBlob(sents.decode('ascii','ignore'))
matches = [map(str, blob.sentences[i-1:i+2])     # from prev to after next
for i, s in enumerate(blob.sentences) # i is index, e is element
    if search_words & set(s.words)]
        print matches,word
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-07-21 17:08:39

”“是开尾引号的代码。rsquo和lsquoare single quotes (used in this text as appostraphes) andndash`‘是一个破折号。如果源文本中存在这些模式,请使用以下方法替换它们。

代码语言:javascript
复制
import re
cleaned = re.sub(r'& ?(ld|rd)quo ?[;\]]', '\"', raw)
cleaned = re.sub(r'& ?(ls|rs)quo ?;', '\'', cleaned)
cleaned = re.sub(r'& ?ndash ?;', '-', cleaned)

这将用引号替换原始文本(我称之为raw)中的这两种代码(有或没有空格),并将其保存到一个名为cleaned的新变量中。通过代码的其余部分传递cleaned应该可以工作。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24870662

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档