2017-08-29 76 views
-2

我想检索段落包含单词从一个网站。问题我不知道有多少单词后,所以我需要迭代它。遍历单词尽可能多re.search python

import urllib.request 
import re 
url = "http://www.cnn.com" 
request = urllib.request.Request(url) 
html_content = urllib.request.urlopen(request) 
mystring=html_content.read().decode('utf-8') 
m = re.search('CNN\s\w+\s\w+\s\w+\s\w+\s\w+\s\w+\s\w+\s(\w+)',mystring) 
print (m.group(0)) 
在这个例子中

我从韩国CNN的任意不等阶关键字的新闻,例如我想获得的所有段落,直到第一个句号(。),或者可以说punctutaion标志。

+0

不知道你在问什么.. –

+2

添加更多描述到你的问题。 –

+2

用示例尝试... –

回答

1

我不知道这是否真的解决了您的问题。如果你希望你的文字被分成句子使用:

re.split(r'[\.\!]', text)

如果你只想文本的第一句使用:

re.match(r'.*[\.\!]', text

的点意味着每一个字符会一场比赛。星号是零或多个出现的量词。括号中包含最后一个字符的集合,它是一个点或一个感叹号。

,如果你想找到包含特定关键字的使用这种每一句:

re.findall(r'[^\.\!]*KEYWORD[^\.\!]*[\.\!]', text)

在匹配的字符集开头的抑扬意味着每一个字符除了给定的。

+0

@sevn我刚刚编辑过这样的句子,但仍然在句子结尾处变得荒谬。'pattern = r'(Trump [^ \。] * \, 。)'m = re.findall(pattern,mystring)' – melic

+0

你的回答之后,我增强了一些代码,并为结果中的每个字符添加替换函数来清理不必要的字符。我希望我可以将代码粘贴到此处,但它不会帮助我把终结线放在代码中,所以代码变得没用:D – melic