문제
urllib2를 사용하여 열린 웹 페이지의 제목을 가져오고 싶습니다. 이 작업을 수행하는 가장 좋은 방법은 HTML을 구문 분석하고 필요한 것을 찾는 가장 좋은 방법은 무엇입니까?
이 목적을 위해 좋은 구문 분석 lib가 있습니까?
해결책
예, 추천합니다 BeautifulSoup
제목을 받고 있다면 간단합니다.
soup = BeautifulSoup(html)
myTitle = soup.html.head.title
또는
myTitle = soup('title')
가져 왔습니다 문서
그것은 매우 강력하고 HTML이 아무리 지저분해도 구문 분석 할 것입니다.
다른 팁
노력하다 아름다운 수프:
url = 'http://www.example.com'
response = urllib2.urlopen(url)
html = response.read()
soup = BeautifulSoup(html)
title = soup.html.head.title
print title.contents
왜 당신은 하나의 작업을 위해 전체 추가 라이브러리를 가져 오는가? 정기적 인 표현이 없습니까? urllib에 대한 요청은 제 3자인 BS4 나 Mech가 아니 었습니까? 표준 라이브러와 관련하여 HTML을 구문 분석하고 문자열을 일치시킨 다음 '>'
'<'
re 또는 whateves와 함께.
N=(len(html))
for a in html(N):
if '<title>' in a:
Title=(str(a))
그게 Python 2라고 생각합니다, 당신은 그것을 제거 할 수 있습니다
사용 아름다운 수프.
html = urllib2.urlopen("...").read()
from BeautifulSoup import BeautifulSoup
soup = BeautifulSoup(html)
print soup.title.string
제휴하지 않습니다 StackOverflow