gpt4 book ai didi

python - 无法使用scrapy获取HTML表格中的行数

转载 作者:行者123 更新时间:2023-11-30 23:29:13 24 4
gpt4 key购买 nike

无法使用 scrapy 获取 HTML 表格中的行数。

我有一个如下所示的 html 文档:

<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 计算表中的行数时,没有返回任何内容:

hxs = Selector(response)

loader = XPathItemLoader(WebscraperItem(), selector=hxs)
loader.add_xpath('tablecount', 'count(/HTML/BODY/HR/TABLE/TR)')
yield loader.load_item()

我已经在Oxygen中尝试过xpath,并且可以看到xpath工作正常,但只是在scrapy中不行,有人知道我哪里出了问题吗?

最佳答案

我已将您的 html 复制到名为 in.html 的本地文件并且:

$ scrapy shell in.html
...
>>> from scrapy.item import Item, Field
>>> class WebscraperItem(Item): tablecount = Field()
...
>>> from scrapy.contrib.loader import XPathItemLoader
>>> loader = XPathItemLoader(WebscraperItem(), selector=sel)
>>> loader.add_xpath('tablecount', 'count(//table/tr)')
>>> loader.load_item()
{'tablecount': [u'5.0']}

关于python - 无法使用scrapy获取HTML表格中的行数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21239405/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com