Я пытался узнать цену акций в режиме реального времени через поиск в Google, используя утилизацию, но это выдает мне ошибку
resp = requests.get("https://www.google.com/search?q=apple+share+price&oq=apple+share&aqs=chrome.0.0j69i57j0l4.11811j1j7&sourceid=chrome&ie=UTF-8") soup = bs.BeautifulSoup(resp.text,'lxml') tab = soup.find('div',attrs = {'class':'gsrt'}).find('span').text
У объекта NoneType нет атрибута find
Вы можете использовать
soup.select_one('td[colspan="3"] b').text
Код:
import requests from bs4 import BeautifulSoup as bs headers = {'User-Agent' : 'Mozilla/5.0'} res = requests.get('https://www.google.com/search?q=apple+share+price&oq=apple+share&aqs=chrome.0.0j69i57j0l4.11811j1j7&sourceid=chrome&ie=UTF-8', headers = headers) soup = bs(res.content, 'lxml') quote = soup.select_one('td[colspan="3"] b').text print(quote)
Попробуйте это может быть ...
resp = requests.get("https://www.google.com/search?q=apple+share+price&oq=apple+share&aqs=chrome.0.0j69i57j0l4.11811j1j7&sourceid=chrome&ie=UTF-8") soup = bs(resp.text,'lxml') tab = soup.find('div', class_='g').findAll('span') print(tab[3].text.strip())
или, если вы хотите только цену ..
resp = requests.get("https://www.google.com/search?q=apple+share+price&oq=apple+share&aqs=chrome.0.0j69i57j0l4.11811j1j7&sourceid=chrome&ie=UTF-8") soup = bs(resp.text,'lxml') tab = soup.find('div', class_='g').findAll('span') price = tab[3].text.strip() print(price[:7])`