당신이 BeautifulSoup를 설치 행복 경우,이 간단한 파이썬 스크립트는 당신이 원하는 것을 할 수 있습니다
#!/usr/bin/evn python
import sys
from BeautifulSoup import BeautifulSoup
soup = BeautifulSoup(sys.stdin.read())
for a in soup.findAll("a"):
a["href"] = a["href"].replace("&", "")
print soup
사용 예제를 :
[[email protected]]$ cat your.html | python amp_remover.py
<li><a href="/battered-fried-chicken-breast-no-skin.html">battered fried chicken breast, no skin</a></li>
<li><a href="/bbq-short-ribs-with-sauce.html">bbq short ribs with sauce</a></li>
<li><a href="/bbq-spareribs--sauce-eat-lean--fat.html">bbq spareribs & sauce (eat lean & fat)</a></li>
<li><a href="/bbq-spareribs--sauce-eat-lean-only.html">bbq spareribs & sauce (eat lean only)</a></li>
경고 : S 출력 HTML을 파싱 된 표현을 기반으로 다시 생성하면 형식이 변경 될 수 있습니다. Markup이 잘 형성되지 않은 경우 태그를 명시 적으로 닫는 등의 다른 가능한 변경이있을 수 있습니다.
내가 틀릴 수도 있지만 올바른 XML/HTML 구문 분석기를 사용하는 대부분의 솔루션이 비슷한 문제를 일으킬 것으로 생각됩니다. 파일을 그대로 유지하고 불쾌한 문자 만 제거하려면 regex 기반 검색을 사용하고 결국 제거/교체해야합니다. 많은 사람들이 실제로는 사소한 패턴을 제외하고는 advice against parsing XML/HTML with regex입니다. 당신의 경우에 그것은 사실 일지 모르지만 나는 아직 확신하지 못하고 있습니다.