HTML 파일에서 데이터를 추출해야합니다. 문제의 파일이 자동으로 생성됩니다. Pastebin에 다음 파일 중 하나의 코드를 업로드했습니다 : http://pastebin.com/9Nj2Edfv. 다음은 실제 페이지에 대한 링크입니다. http://eur-lex.europa.eu/Notice.do?checktexts=checkbox&val=60504%3Acs&pos=1&page=1&lang=en&pgs=10&nbl=1&list=60504%3Acs%2C&hwords=&action=GO&visu=%23texteBeautifulSoup 및 Python을 사용하여 HTML 파일에서 데이터 추출
추출해야하는 데이터는 다른 제목 아래에 나와 있습니다.
이것은 내가 지금까지 무엇을 가지고 :
from BeautifulSoup import BeautifulSoup
ecj_data = open("data\ecj_1.html",'r').read()
soup = BeautifulSoup(ecj_data)
celex = soup.find('h1')
auth_lang = soup('ul', limit=14)[13].li
procedure = soup('ul', limit=20)[17].li
print "Celex number:", celex.renderContents(),
print "Authentic language:", auth_lang
print "Type of procedure:", procedure
나는 모든 데이터는 파일 ecj_1.html을 여는 이유가있는 로컬로 저장합니다.
Celex 번호와 Authentic 언어가 다소 효과적입니다.
CELEX는 auth_lang는 "Authentic language: <li>French</li>"
내가 H1 태그 (하지 말에서 휴식)의 내용 만이 필요 반환
"Celex number:
61977J0059"
반환합니다.
는 [또한, 나는 <li>
-tags 그냥 "프랑스어"돌아 auth_lang, 그리고 필요합니다.] 이 더 이상 문제가되지 않습니다. 나는 "auth_lang"의 끝에 ".text"를 추가 할 수 있음을 깨달았다. 반면에
절차는이를 반환
난 그냥 "예비 판결에 대한 참조"를 반환하는 데 필요로하는 매우 잘못된 것입니다Type of procedure: <li>
<strong>Type of procedure:</strong>
<br />
Reference for a preliminary ruling
</li>
.
이것을 수행 할 수있는 방법이 있습니까?
두 번째 편집 : 나는 celex = soup('h1', limit=2)[0]
로 celex = soup.find('h1')
를 교체하고 인쇄 CELEX에 .text
을 추가했다.
프락셀 : 대단히 감사합니다! 그것은 매력처럼 작동합니다. 아이디어는 어떻게 든이 파일의 출력을 데이터베이스로 전송하는 것입니다. 나중에 문제가 생길 가능성이있을 때 줄 바꿈을 제거하는 방법을 보여 주었을 때 미래의 문제를 해결했을 수도 있습니다. 다시 한번 감사드립니다. – A2D2