Я хочу получить название акции с веб-страницы.
Я отправил запрос с помощью requsts
data = requests.get(r'http://www.etnet.com.hk/www/eng/stocks/realtime/quote.php?code=5').text
В нормальной ситуации «данные» должны содержать «HSBC HOLDINGS», но это не так.
'HSBC HOLDINGS' in data # False
Что не так с моим кодом?
Как решить проблему?
Я изменил URL сейчас. Странно, что я не могу получить страницу, содержащую данные, которые я видел в браузере.
Я не вижу "HSBC HOLDINGS", даже если открыть страницу в браузере. Какие именно данные вы хотите извлечь?
Возможно, вам потребуется обновить страницу, чтобы увидеть HSBC HOLDINGS.
Вы думали, что HSBC HOLDINGS выходит из топ-5. Если вы хотите получить данные только из рейтингового списка, вы можете продолжать использовать requests.
Здесь 5 - это складской номер HSBC HOLDINGS. Это не означает топ-5.






Это должно работать
'HSBC HOLDINGS' in data.text
Обновлено: я не видел, чтобы вы уже использовали .text в первой строке. Для меня ваш код вернул истину. Какая у вас прибыль, когда вы печатаете (данные)?
Извините, что я пропустил ключевое слово .text в своем вопросе. А как насчет нового URL-адреса в моем вопросе?
Я думаю, что известная не содержит "HSBC HOLDINGS".
Вы можете это увидеть, вставив ссылку в браузере. Возможно, вам потребуется обновить браузер.
Попробуйте добавить заголовок referer, чтобы получить требуемый результат:
data = requests.get(r'http://www.etnet.com.hk/www/eng/stocks/realtime/quote.php?code=5', headers = {'referer': 'http://www.etnet.com.hk/www/eng/stocks/realtime/quote.php?code=00005'}).text
'HSBC HOLDINGS' in data
# True
Вы пытались проверить переменную
dataв отладчике или даже распечатать ее? Почему нет? Или читаете документацию по запросам?