다음 텍스트에서의 href
값을 클래스의 내부 값 으로 바꾸고 싶습니다.lienarticle
<a class="lienarticle" href="/dictionnaires/francais/aimer/1925">mono</a>
<a class="lienarticle" href="/dictionnaires/francais/aimer/1925"><i>aimer</i></a>
<a class="lienarticle" href="/dictionnaires/francais/aimer/1925"><b>you</b></a>
내 목표를 달성하는 방법은 다음과 같이 초보적입니다.
from bs4 import BeautifulSoup
text = '''
<a class="lienarticle" href="/dictionnaires/francais/aimer/1925">mono</a>
<a class="lienarticle" href="/dictionnaires/francais/aimer/1925"><i>aimer</i></a>
<a class="lienarticle" href="/dictionnaires/francais/aimer/1925"><b>you</b></a>
'''
soup = BeautifulSoup(text, 'html.parser')
for a in soup.select('.lienarticle'):
a['href'] = 'entry://' + str(a.contents[0]).replace('<b>', '').replace('</b>', '').replace('<i>', '').replace('</i>', '')
원하는 결과는
<a class="lienarticle" href="entry://mono">mono</a>
<a class="lienarticle" href="entry://aimer"><i>aimer</i></a>
<a class="lienarticle" href="entry://you"><b>you</b></a>
나는 문자열을 내 것으로 교체하는 것이 아니라 더 효율적인 방법을 요청하고 싶습니다. 정말 고맙습니다!
이것은 방법을 사용 .text
하는 하나의 접근 방식입니다
전의:
from bs4 import BeautifulSoup
text = '''
<a class="lienarticle" href="/dictionnaires/francais/aimer/1925">mono</a>
<a class="lienarticle" href="/dictionnaires/francais/aimer/1925"><i>aimer</i></a>
<a class="lienarticle" href="/dictionnaires/francais/aimer/1925"><b>you</b></a>
'''
soup = BeautifulSoup(text, 'html.parser')
for a in soup.select('.lienarticle'):
a['href'] = f'entry://{a.text}'
print(a)
산출:
<a class="lienarticle" href="entry://mono">mono</a>
<a class="lienarticle" href="entry://aimer"><i>aimer</i></a>
<a class="lienarticle" href="entry://you"><b>you</b></a>
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다