Python 网页抓取-未显示任何内容

Python 网页抓取-未显示任何内容,python,web-scraping,beautifulsoup,python-requests,Python,Web Scraping,Beautifulsoup,Python Requests,我试图通过获取输入来获取用户指定的公司的股票。我正在使用请求获取源代码,并对BeautifulSoup进行刮取。我正在从google.com获取数据。我正在尝试仅获取最后一个股价(图中为806.93)。当我运行脚本时,它不会打印任何内容。未提取任何数据。我错过了什么 页面的源代码如下所示: 看起来源来自检查元素,而不是实际的源。一些建议。使用谷歌金融消除一些噪音-将是URL。在该页面上,有一个部分如下所示: <div class=g-unit> <div id=market-

我试图通过获取输入来获取用户指定的公司的股票。我正在使用请求获取源代码,并对BeautifulSoup进行刮取。我正在从google.com获取数据。我正在尝试仅获取最后一个股价(图中为806.93)。当我运行脚本时,它不会打印任何内容。未提取任何数据。我错过了什么

页面的源代码如下所示:


看起来源来自检查元素,而不是实际的源。一些建议。使用谷歌金融消除一些噪音-将是URL。在该页面上,有一个部分如下所示:

<div class=g-unit>
<div id=market-data-div class="id-market-data-div nwp g-floatfix">
<div id=price-panel class="id-price-panel goog-inline-block">
<div>
<span class="pr">
<span id="ref_694653_l">806.93</span>
</span>
<div class="id-price-change nwp">
<span class="ch bld"><span class="chg" id="ref_694653_c">+9.68</span>
<span class="chg" id="ref_694653_cp">(1.21%)</span>
</span>
</div>
</div>

806.93
+9.68
(1.21%)
你应该可以从中提取号码。

我去了 ,右键单击并“查看页面源代码”,但没有看到您截屏的代码

然后我键入了你的代码截图的一部分,并用它创建了一个BeautifulSoup对象,然后在上面运行了你的发现:

test_screenshot = BeautifulSoup('<div class="_F0c" data-tmid="/m/07zln7n"><span class="_Rnb fmob_pr fac-l" data-symbol="GOOGL" data-tmid="/m/07zln7n" data-value="806.93">806.93.</span> = $0<span class ="_hgj">USD</span>')

test_screenshot.find('span',{'class':'_Rnb fmob_pr fac-l','data-symbol':'GOOGL'})`
我会给你
[u'\n',806.93,u'\n']

一般来说,删除谷歌搜索结果会变得非常糟糕,所以如果可以的话,尽量避免


您可能还想研究一下。

您可以使用Google Finance API


我可以从上述网站获取数据。但无论我试图从谷歌主页上获取什么,无论是货币兑换、股票还是体育成绩,都是行不通的。我在页面源代码中找不到806.93,但在检查元素(Google主页)时显示。为什么只有google.com会发生这种情况?是的,越来越糟糕了。无法从google.com获取任何数据。页面源代码和检查代码在所有情况下都不同。为什么谷歌主页会单独出现这种情况,而不是其他页面?Javascript正在修改源html代码吗?虽然这在理论上可以回答这个问题,但在这里包含答案的基本部分,并提供链接供参考。
test_screenshot = BeautifulSoup('<div class="_F0c" data-tmid="/m/07zln7n"><span class="_Rnb fmob_pr fac-l" data-symbol="GOOGL" data-tmid="/m/07zln7n" data-value="806.93">806.93.</span> = $0<span class ="_hgj">USD</span>')

test_screenshot.find('span',{'class':'_Rnb fmob_pr fac-l','data-symbol':'GOOGL'})`
request = requests.get(URL)
soup = BeautifulSoup(request.content,"lxml")
code = soup.find("span",{'class':'pr'})
print code.contents
import requests

r = requests.get("http://finance.google.com/finance/info?client=ig&q=NASDAQ%3AGOOGL")
print r.content