从谷歌搜索中提取结果的数量

2024-09-27 21:23:21 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在写一个网页刮板,以提取在谷歌搜索结果页面左上角出现的搜索结果的数量。我写了下面的代码,但我不明白为什么短语_extract是None。我想提取一个短语“大约12010000000个结果”。我哪一部分出错了?可能解析HTML不正确?在

import requests
from bs4 import BeautifulSoup

def pyGoogleSearch(word):   
    address='http://www.google.com/#q='
    newword=address+word
    #webbrowser.open(newword)
    page=requests.get(newword)
    soup = BeautifulSoup(page.content, 'html.parser')
    phrase_extract=soup.find(id="resultStats")
    print(phrase_extract)

pyGoogleSearch('world')

example


Tags: import刮板网页数量addresspageextract页面
1条回答
网友
1楼 · 发布于 2024-09-27 21:23:21

实际上,你使用了错误的url来查询google的搜索引擎。您应该使用http://www.google.com/search?q=<query>。在

所以看起来像这样:

def pyGoogleSearch(word):
    address = 'http://www.google.com/search?q='
    newword = address + word
    page = requests.get(newword)
    soup = BeautifulSoup(page.content, 'html.parser')
    phrase_extract = soup.find(id="resultStats")
    print(phrase_extract)

您也可能只需要该元素的文本,而不是元素本身,因此您可以执行以下操作:

^{pr2}$

或将实际值作为整数:

val = int(phrase_extract.text.split(' ')[1].replace(',',''))

相关问题 更多 >

    热门问题