получить текст между <a class> MYTEXT </a> внутри класса div - PullRequest
1 голос
/ 29 июня 2019

У меня есть этот исходный код:

<div class="col-xs-12 col-sm-6 col-md-6">
<a class="btn btn-md white badge-success mt-5" 
href="https://stockinvest.us/trade/WRN" id="trade500signalsTop">
WRN is a Buy Candidate
</a>

Я хочу напечатать "WRN - Кандидат на покупку"

Я попробовал следующее, но это не работает:

page2 = requests.get('https://stockinvest.us/technical-analysis/WRN')
soup2 = BeautifulSoup(page2.text, 'html.parser')
for link in soup2.find_all('a', id='trade500signalsTop'):
link_text = link.text
print link_text

1 Ответ

1 голос
/ 29 июня 2019

Используйте header при запросе страницы.

import requests
from bs4 import BeautifulSoup
headers = {'User-Agent':
       'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.106 Safari/537.36'}

page2 = requests.get('https://stockinvest.us/technical-analysis/WRN',headers=headers)
soup2 = BeautifulSoup(page2.text, 'html.parser')
for link in soup2.find_all('a', id='trade500signalsTop'):
 link_text = link.text
 print(link_text)

Выход:

WRN is a Buy Candidate

Вместо find_all() вы можете использовать find() для получения только одного конкретного значения.

print(soup2.find('a', id='trade500signalsTop').text)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...