BeautifulSoup Webscraping Пустой результат - PullRequest
0 голосов
/ 19 мая 2019

Я пытаюсь использовать BeautifulSoup для получения информации о ETF с помощью веб-сайта IShares. Однако, когда я пытаюсь вызвать функцию soup.find для таблицы, я получаю объект типа None.

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

https://www.ishares.com/uk/individual/en/products/etf-product-list?switchLocale=y&siteEntryPassthrough=true#!type=emeaIshares&tab=overview&view=list

Буду признателен за любую помощь / предложение, которое вы имеете. Я новичок в этом сообществе, и я только начал использовать BeautifulSoup, и это мой первый веб-проект.

Спасибо

import requests
from bs4 import BeautifulSoup

website_url = requests.get('https://www.ishares.com/uk/individual/en/products/etf-product-list#!type=emeaIshares&tab=overview&view=list').text
My_table = soup.find('td',{'class':' colLocalExchangeTicker mobile-on'})

My_table == None

Out [13]: True

Если бы функция работала нормально, я бы ожидал получить список атрибутов (т. Е. Тикеры), но в этом случае он кажется пустым.

1 Ответ

0 голосов
/ 19 мая 2019

Вы можете получить json со всей этой информацией, используя страницу URL для содержимого

import requests
import json

r = requests.get('https://www.ishares.com/uk/individual/en/products/etf-product-list/1524727817681.ajax?fileType=json')
s = json.loads(r.text.strip('\ufeff'))
print(s)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...