我正在使用BeautifulSoup从必应搜索结果(当然是非商业目的)上刮取数据。我输入了一个名为“rasmalai”的印度甜品名称,作为我关注的单词。我使用的代码返回网页的标题和描述。我还提取了结果的链接。下面是我使用的代码:
from bs4 import BeautifulSoup
import urllib, urllib2
def bing_search(query):
address = "http://www.bing.com/search?q=%s" % (urllib.quote_plus(query))
getRequest = urllib2.Request(address, None, {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_2) AppleWebKit/537.36 Chrome/65.0.3325.162 Safari/537.36'})
urlfile = urllib2.urlopen(getRequest)
htmlResult = urlfile.read(200000)
urlfile.close()
soup = BeautifulSoup(htmlResult)
[s.extract() for s in soup('span')]
#unwantedTags = ['a', 'strong', 'cite']
#for tag in unwatedTags:
#for match in soup.findAll(tag):
# match.replaceWithChildren()
results = soup.findAll('li', {"class" : "b_algo" })
for result in results:
print "# TITLE: " + str(result.find('h2')).replace(" ", " ") + "\n#"
print "# DESCRIPTION: " + str(result.find('p')).replace(" ", " ")
print "# ___________________________________________________________\n#"
return results
if __name__ == '__main__':
links = bing_search('rasmalai')现在我有了链接,网页标题,和一个简短的描述,我想提取关键字使用NLP。最后,我想生成一个带有菜名和相关关键字的CSV文件。有人能帮我找到一些关于如何做这部分的资源吗?
提前谢谢你。
发布于 2019-04-17 13:43:29
关键字提取的一个很好的起点是NLTK (自然语言工具包)库。要提取关键字,您可能需要对数据进行标记化,将每个单词分解成一个标记,并忽略最常见或最不重要的单词“秒词”。假设您在大量查询结果中搜索关键字,则使用TF (术语频率-反向文档频率)确定每个文档中最重要的术语。在NLTK文件中有这方面的工具和教程。排序得到的令牌-分数,选择得分最高的标记,这些是您的关键字的一个良好的开端。
https://datascience.stackexchange.com/questions/33543
复制相似问题