문제

HTML 문서에서 모든 링크를 수정할 수 있어야합니다. 나는 내가 사용해야한다는 것을 알고있다 SoupStrainer 그러나 나는 그것을 구현하는 방법에 대해 100% 긍정적이지 않습니다. 누군가가 나를 좋은 자원으로 안내하거나 코드 예제를 제공 할 수 있다면 대단히 감사하겠습니다.

감사.

도움이 되었습니까?

해결책

아마도 이런 것이 효과가 있을까요? (불행히도 내 앞에는 파이썬 통역사가 없습니다)

from BeautifulSoup import BeautifulSoup
soup = BeautifulSoup('<p>Blah blah blah <a href="http://google.com">Google</a></p>')
for a in soup.findAll('a'):
  a['href'] = a['href'].replace("google", "mysite")

result = str(soup)

다른 팁

from BeautifulSoup import BeautifulSoup
soup = BeautifulSoup('<p>Blah blah blah <a href="http://google.com">Google</a></p>')
for a in soup.findAll('a'):
    a['href'] = a['href'].replace("google", "mysite")
print str(soup)

이것은 Lusid의 솔루션이지만 Python 통역사가 없었기 때문에 테스트 할 수 없었고 몇 가지 오류가있었습니다. 작업 조건을 게시하고 싶었습니다. 감사합니다.

나는 이것을 시도했고 효과가 있었는데, 각각 일치하는 데 regexp를 사용하지 않는 것이 더 쉽습니다. 'href':

from bs4 import BeautifulSoup as bs
soup = bs(htmltext)
for a in soup.findAll('a'):
    a['href'] = "mysite"

확인하십시오 BS4 문서.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top