2013-06-13 2 views
0

이 웹 사이트의 요소를 구문 분석하려고했습니다. https://www.theice.com/coal.jhtml. 특히 테이블의 값 :파이썬 웹 사이트 구문 분석

<table class="default condensed"> 각 행을 추출하여 내 프로그램에 저장하고 싶습니다. 나는 BeautifulSoup을 사용하여 모든 <tr class="(odd|even)"> 태그를 검색하고 그 정보를 저장할 수 있음을 알고 있습니다. 하지만이 작업을 수행하는 더 쉬운 방법이 있는지 궁금합니다. 예를 들어 일부 웹 사이트에서는 JSON에서 데이터 필드를로드하지만이 경우에는 찾을 수 없습니다. 이 사이트의 항목에 사용할 수있는 것이 있습니까?

+0

'/search/Search.shtml? searchAsJSON ='? 그게 당신이 원하는 것일 지 모르겠지만 JSON으로 물건을 반환합니다. – Wes

+0

그래서'https : // www.theice.com/coal.jhtml'에서'https : //www.theice.com/coal/search/Search.shtml? searchAsJSON ='같은 것을 시도했습니다. "페이지를 찾을 수 없습니다" –

+0

@Wes 귀하의 아이디어가 맞습니다, 가능한 경우 JSON 페이지의 해당 요소를 바꿔야합니다 –

답변

2

답변이 한 웹 사이트에만 한정되어 있으므로 이는별로 좋은 질문이 아닙니다. 웹 사이트를 한 눈에 보면 테이블이 서버 측으로 구성되어 있다고 생각합니다. 일반적으로

, 여기 당신이 HTML을 구문 분석보다는 서버를 직접하지 않고 호출 할 수 있는지 여부를 파악하는 몇 가지 방법

(1) AJAX 요청을 만드는 자바 스크립트를 읽기/쉽게 찾을 수 있는가 ...인가? 그렇다면 요청에 대한 인수가 의미하는 바를 해독 할 수 있습니까?

(2) Chrome이나 Firefox에서 개발자 도구를 사용하여 페이지에서 데이터처럼 보이는 파일 (예 : XML, CSV)을 요청하는지 확인합니다. 나는 그것을 여기에서 보지 않고있다 (다시, 나는 빨리 보았다).

마지막으로, 사용 약관 및 해당되는 경우 robots.txt를 존중합니다. 귀중한 웹 사이트를 만드는 것은 많은 작업을 필요로하며 사람들이 허락없이 물건을 가져가는 것은 귀찮습니다. 특히 그들이 긁어 모으는 정보로 이익을 얻으 려한다면 더욱 그렇습니다. 귀하의 사이트를 한눈에 보면 분명히 여기에 있음을 알 수 있습니다.

BeautifulSoup 위대한입니다. 나는 lxml을 선호합니다.