首页 > 解决方案 > 谷歌搜索结果页面上的网页抓取值。Python,BeautifulSoup,请求

问题描述

我是 Python 新手,正在尝试制作一系列程序来向我的手机发送股票市场指数的表现。我有一些功能有限的程序,我相信如果可以从谷歌抓取数据,它们会得到改进,到目前为止我还无法做到这一点。我试图提取的值每次都在结果页面的顶部,几乎在某种表格中。在底部,我附有一个片段,上面附有我要抓取的值。

这是我目前用于网络抓取部分的代码部分。我正在使用美丽的汤和请求。

import bs4
import requests

res = requests.get('https://www.google.com/search?safe=active&sxsrf=ALeKk00d7WrRTMvmhypG20E5MOEWpRwKlw%3A1601591747498&ei=w1l2X52DHoPatAXElILQDg&q=nasdaq+composite&oq=nasd&gs_lcp=CgZwc3ktYWIQAxgAMgwIIxAnEJ0CEEYQ-gEyBAgjECcyBAgjECcyCggAELEDEIMBEEMyCggAELEDEIMBEEMyCAgAELEDEIMBMgcIABCxAxBDMgcIABCxAxBDMgcIABCxAxBDMgoIABCxAxCDARBDOgQIABBHOgUIABCxAzoHCCMQ6gIQJzoHCCMQJxCdAjoECAAQQ1DszQ5Y9tkOYPjkDmgBcAJ4BYABqQOIAZ4NkgEJMS43LjEuMC4xmAEAoAEBqgEHZ3dzLXdperABCsgBCMABAQ&sclient=psy-ab')
type(res)
soup = bs4.BeautifulSoup(res.text,'lxml')
type(soup)

Current_Level = soup.find(class_='IsqQVc_NprOob_XcVN5d')

print (Current_Level)

如果您在谷歌上搜索“纳斯达克综合”,该链接将指向页面。我使用的类soup.find()与您右键单击时的值对齐 - 检查网页上的值。

对所有解决方案开放以获得此价值。感谢您的所有帮助,非常感谢!

我试图抓取的值的图像

标签: pythonweb-scrapingbeautifulsouppython-requestsgoogle-search

解决方案


这是您如何获得价值的方法。

from bs4 import BeautifulSoup as soup
import requests

url_to_scrape = "https://www.google.com/search?q=nasdaq+composite&oq=nasdaq+composite&aqs=chrome.0.0l8.5126j1j4&sourceid=chrome&ie=UTF-8"

try:
    client_page = requests.get(url_to_scrape)
except:
    print("Request aborted due to unknown reason!")

page_html = client_page.text
client_page.close()

page_soup = soup(page_html,"html.parser") 
 
nasdaqValue = page_soup.findAll("div",{"class":"BNeawe iBp4i AP7Wnd"})
print(nasdaqValue[0].text)


推荐阅读