用python获取google结果状态

2024-05-26 19:54:06 发布

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

我想得到一个关键字从谷歌的估计结果数。我使用Python3.3并尝试用beauthoulsoup和urllib.请求. 到目前为止,这是我的简单代码

def numResults():
try:
    page_google = '''http://www.google.de/#output=search&sclient=psy-ab&q=pokerbonus&oq=pokerbonus&gs_l=hp.3..0i10l2j0i10i30l2.16503.18949.0.20819.10.9.0.1.1.0.413.2110.2-6j1j1.8.0....0...1c.1.19.psy-ab.FEBvxrgi0KU&pbx=1&bav=on.2,or.r_qf.&bvm=bv.48705608,d.Yms&'''
    req_google = Request(page_google)
    req_google.add_header('User Agent', 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:15.0) Gecko/20120427 Firefox/15.0a1')
    html_google = urlopen(req_google).read()
    soup = BeautifulSoup(html_google)
    scounttext = soup.find('div', id='resultStats')
except URLError as e:
    print(e)
return scounttext

我的问题是我的soup变量是以某种方式编码的,我无法从中获取任何信息。所以我得到了一个没有因为汤。找不起作用。在

我做错了什么?如何提取想要的结果状态? 非常感谢!在


Tags: 代码abdefhtmlgooglepage关键字urllib
1条回答
网友
1楼 · 发布于 2024-05-26 19:54:06

如果您还没有解决这个问题,那么beauthulsoup找不到任何东西的原因似乎是resultStats从未出现在soup中—您的请求(page_google)只返回JavaScript,而不是JavaScript动态加载的任何搜索结果。您可以通过添加

print(soup)

命令,您将看到resultStats div不会出现。在

以下代码:

^{pr2}$

将打印

<div class="sd" id="resultStats">Ungefähr 1.060.000 Ergebnisse</div>

最后,使用Selenium Webdriver这样的工具可能是解决这个问题的更好方法,因为Google不允许机器人抓取搜索结果。在

相关问题 更多 >

    热门问题