«Нет» возвращается, когда веб-очистка с использованием красивого супа с использованием find () - PullRequest
0 голосов
/ 04 октября 2018

Я пытаюсь выбрать цену FTSE с веб-сайта BBC, используя BeautifulSoup & Requests, но я получаю вывод «Нет» при запуске.

import sys
import requests
from bs4 import BeautifulSoup

URL = 'https://www.bbc.co.uk/news/topics./c9qdqqkgz27t/ftse-100'
page = requests.get(URL,timeout=5)
#fetch content from URL
soup = BeautifulSoup(page.content,'html.parser')
#parse html content

price =  soup.find(class_='gel-paragon nw-c-md-market-summary_value')
#price = soup.find("div", class_="gel-paragon nw-c-md-market-summary_value")
#find class with name 'gel...'
print(price)

Я пробовал использовать разные типы функции поиска, но оба возвращают одно и то же.Я планирую использовать эту логику, чтобы в конечном итоге собрать данные с нескольких страниц, но хочу получить их прямо перед тем, как попытаться выполнить итерацию.

Ответы [ 2 ]

0 голосов
/ 04 октября 2018

Это прекрасно работает:

import requests
from bs4 import BeautifulSoup

url = 'https://www.bbc.com/news/topics/c9qdqqkgz27t/ftse-100'
r = requests.get(url)
soup = BeautifulSoup(r.text, 'lxml')
price = soup.select_one('div.gel-paragon')
print(price.text)

Вывод:

7418.34

Примечание: попробуйте 'html.parser', если у вас нет 'lxml'

0 голосов
/ 04 октября 2018

Ваш URL был неправильным, я сделал несколько изменений, и он работает!

import requests
from bs4 import BeautifulSoup

URL = 'https://www.bbc.co.uk/news/topics/c9qdqqkgz27t/ftse-100'
page = requests.get(URL)
soup = BeautifulSoup(page.content,'html.parser')
price =  soup.find('div', attrs={
    'class':'gel-paragon nw-c-md-market-summary__value'})
print(price.text)

Вывод:

7442.28
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...