Python 3.x 网络爬虫无法从谷歌搜索中检索结果

Python 3.x 网络爬虫无法从谷歌搜索中检索结果,python-3.x,beautifulsoup,web-crawler,Python 3.x,Beautifulsoup,Web Crawler,我正在创建一个简单的webcrawler,我希望它能够抓取谷歌搜索查询的结果网页,比如“Donald Trump”。我编写了以下代码: # import requests from urllib.request import urlopen as uReq import urllib.request from bs4 import BeautifulSoup as soup paging_url = "https://www.google.gr/search? ei=fvtMW8KMI4vd

我正在创建一个简单的webcrawler,我希望它能够抓取谷歌搜索查询的结果网页,比如“Donald Trump”。我编写了以下代码:

# import requests
from urllib.request import urlopen as uReq
import urllib.request
from bs4 import BeautifulSoup as soup

paging_url = "https://www.google.gr/search? 
ei=fvtMW8KMI4vdwQLS67yICA&q=donald+trump&oq=donald+trump&gs_l=psy- ab.3..35i39k1j0i131k1j0i203k1j0j0i203k1j0l3j0i203k1l2.4578.6491.0.6763.12.9.0.0.0.0.447.879.4-2.2.0....0...1c.1.64.psy-ab..10.2.878....0.aB3Y8R5B0U8"

req = urllib.request.Request("https://www.google.gr/search?ei=fvtMW8KMI4vdwQLS67yICA&q=donald+trump&oq=donald+trump&gs_l=psy-ab.3..35i39k1j0i131k1j0i203k1j0j0i203k1j0l3j0i203k1l2.4578.6491.0.6763.12.9.0.0.0.0.447.879.4-2.2.0....0...1c.1.64.psy-ab..10.2.878....0.aB3Y8R5B0U8", headers={'User-Agent': "Magic Browser"})

UClient = uReq(req)  # downloading the url
page_html = UClient.read()
UClient.close()

page_soup = soup(page_html, "html.parser")
results = page_soup.findAll("div", {"class": "srg"})
print(len(results))
稍微解释一下我的想法以及我注意到的谷歌页面结构:

我试图只获取搜索结果,而不是谷歌也显示的推荐视频或图像。当推荐的视频或图像出现时,有九个结果存在于两个带有“srg”类的“div”标签下。在这些“div”标签之间插入另一个带有推荐视频/图像的“div”标签

我的问题是属于“srg”类的“div”标记不能被我的代码“看到”。我不知道为什么美苏会忽视他们。属于“rc”的“div”标记也会发生同样的情况
班级。有人知道为什么会发生这种情况吗?

我在使用PhantomJS制作WebCrawler提取谷歌搜索数据时遇到了一些问题。有时我可以浏览几页,然后系统就会丢失。在某些情况下,我会在生成的代码中看到,我似乎在执行非法操作,应该使用付费API“”。我找到的解决方案是从雅虎网站创建爬虫。以防结果对我来说是令人满意的


谷歌API允许你每天进行100次免费搜索。根据应用程序的用途,这可能是一个更安静的解决方案。

尝试此选择器
page\u soup。选择('div#ires div.g')[1:
。我用它在我的网站上搜索谷歌搜索结果。