1
scrapy를 사용하여 HTML 테이블의 행 수를 가져올 수 없습니다.scrapy를 사용하여 HTML 테이블의 행 수를 얻을 수 없습니다.
나는 HTML 문서 아래처럼이 :
hxs = Selector(response)
loader = XPathItemLoader(WebscraperItem(), selector=hxs)
loader.add_xpath('tablecount', 'count(/HTML/BODY/HR/TABLE/TR)')
yield loader.load_item()
:
<TITLE>Title of Mbean</TITLE>
</HEAD>
<BODY>
<TABLE WIDTH="100%">
<TR>
<TD ALIGN="left"><H2>Array View</H2></TD>
<TD ALIGN="right" VALIGN="top">[JDMK5.0_r16]</TD>
</TR></TABLE>
<UL type="disc"><LI><B>MBean Name:</B> Name of MBean</LI>
<LI><B>MBean Attribute:</B> product list</LI>
<LI><B>Array of:</B> java.lang.String</LI>
</UL>
<TABLE WIDTH="100%"><TR>
<TD ALIGN="LEFT"><A HREF="Object name">Back to MBean View</A></TD>
<TD ALIGN="RIGHT"><A HREF="/">Back to Agent View</A></TD>
</TR></TABLE>
<HR>
<A NAME="Top"></A>
<TABLE ALIGN="center" BORDER="1" CELLPADDING="3">
<TR>
<TH WIDTH="10%"> Element at </TH>
<TH WIDTH="7%"> Access </TH>
<TH WIDTH="35%"> Value </TH>
</TR>
<TR>
<TD ALIGN="center">0</TD><TD ALIGN="center">RO</TD>
<TD>this is the value</TD>
</TR>
<TR>
<TD ALIGN="center">0</TD><TD ALIGN="center">RO</TD>
<TD>this is the second value</TD>
</TR>
</TABLE>
</HR>
</BODY>
</HTML>
와 나는 시도하고 scrapy 아무것도를 사용하여 다음 XPath를 사용하여 테이블의 행 수가 반환 다음 지정할 때
나는 산소에서 xpath를 시도해 본 결과 xpath가 정상적으로 작동한다는 것을 알 수 있었지만 치료 중에는 그렇지 않다는 것을 알 수있다.
브라우저가 추가/제거 태그와 XPath는 도구가 당신에게 깨진 HTML을 수정하기 때문에 브라우저 도구를 신뢰하지 마십시오 권장되지 않는 전체 경로. 가이가 아래 답변에서 지적한 것처럼, 당신이 필요로하는 요소로 표현식을 만드는 것이 낫습니다. – Rolando