我想快速计算一个词在Google研究中的出现次数。 实际上,我程序的这一部分需要1.2秒才能运行,我认为这太多了。
#qt is my keyword
values = {'q': qt}
data = urllib.parse.urlencode(values)
url = "http://www.google.fr/search?" + data
req = Request(url, headers={'User-Agent': 'Mozilla/5.0'})
response = urlopen(req).read().lower()
soup = BeautifulSoup(response, "lxml")
resp = soup.get_text()
count = sum(1 for _ in re.finditer(r'\b%s\b' % re.escape(unidecode.unidecode(word)), str(resp)))
unidecode用于删除带重音符号的字符,以避免错误。我认为速度更快,但我没有找到
谢谢
答案 0 :(得分:1)
简单的拆分即可快速给出您要搜索的答案。使用SoupStrainer
并让python3自己做unicode的东西可能也会改善,但不会改善
soup = BeautifulSoup(response, "lxml", parse_only=SoupStrainer(id="rso"))
resp = soup.get_text()
count2 = len(resp.split(word))-1