【发布时间】:2015-08-06 20:50:28
【问题描述】:
我正在寻找一种使用 python 程序区分英语语法(动词、名词、形容词等)的有效方法。
目前我实现这一点的方法是让程序阅读 dicionary.com 的源代码并使用一些剪辑来查找信息
url = "http://dictionary.reference.com/browse/" + x + "?s=t"]
request = urllib2.Request(url)
handle = urllib2.urlopen(request)
content = handle.read()
# cut the html code to the correct spot
splitted_page = content.split(b"<span class=\"dbox-pg\">", 1)
splitted_page = splitted_page[1].split(b"</span>", 1)
word_type.append(splitted_page)
其中 x 是我正在搜索的单词。我的问题是这被证明是非常困难的,因为该网站的源代码不一致,因此该代码适用于某些单词,但不适用于其他单词。
我想知道是否有更简单的方法来做到这一点?
提前谢谢你!
【问题讨论】:
-
一个挑战,解析英语是。您应该使用离线单词列表,例如 ASpell。
-
听起来您有两个不同的问题? 1. 持续抓取网页 2. 处理英文单词?对于 2,您可以使用像 nltk.org 这样的库。首先,我不认为寻找特定节点是要走的路,尽管我不确定我是否遵循您试图从 dictionary.com 获取的特定数据。
-
stackoverflow.com/questions/22740789/… 有一些您可以查看的字典 API。您的问题的另一个问题是单词可以有多个语法用途。例如act既是名词又是动词
-
也许使用 NLTK(Natural Language Toolkit) 库。
标签: python dictionary web-crawler