Это расположение исходного кода с сайта:BS4 Как получить текст без использования .text?
<div class="address">
<a href="https://website.ca/classifieds/59-barclay-street/">
59 Some Street<br />City, Zone 1
</a>
</div>
Я хотел бы получить номер улицы, маршрут, и город для Google геокодирования. Если я делаю это
>>>article.find('div', {'class': 'address'}).text
'59 Some StreetCity, Zone 1'
Он забирает <br />
и я остался без возможности разделить маршрут от города. Если я сделаю str().replace('<br />',', ')
, то мне нужно как-то преобразовать его обратно в любой тип, который был до этого, поэтому я могу сделать .text
, чтобы получить фактический текст между <a href>
, он неэффективен. Я хотел бы использовать функциональность, которую использует .text
, чтобы получить фактический текст без функциональности, где он удаляет <br>
. Я не мог найти файл под названием BeautifulSoup.py
в моем env, поэтому я смотрю на исходный код BeautifulSoup на GitHub, и я не могу найти def text
там, я не знаю, где еще искать.
Update:
articles = page_soup.find('h2', text='Ads').find_next_siblings('article')
for article in articles:
link = article.find('a')
br = link.find('br')
ad_address = br.previous_sibling.strip() + ', ' + br.next_sibling.strip().partition(', Zone ')[0]
#ad_address = link.br.replace_with(', ').get_text().strip().partition(', Zone ')
вы можете использовать 'article.find ('DIV', { 'класс': 'адрес'}). String' –
Это ничего не делать, и печатает как «Нет» – dtgq