当 XPath 相同时提取数据
我是 jython 和 scrapy 的新手,但它们的功能给我留下了深刻的印象。我的问题是,当 XPath 相同时提取数据的最佳方法是什么?
例如:
<tr>
<td>
<a href="/user/Bob">Bob Job</a>
</td>
<td>hi</td>
<td>280.0</td>
</tr>
我需要从所有 3 个 td 字段中抓取信息。我使用 firebug 提取 XPath,它将我的 XPath 显示为
/html/body/table[2]/tbody/tr/td[2]/div/table/tbody/tr[2]/td[3]
最好的是什么当 XPath 相同时提取数据的方法?我可能只需要 td[1] 和 td[3] 的数据。
I am new to jython and scrapy, but I am impressed by the capabilities that is has. My question is, what is the best way to extract data when the XPaths are the same?
For example:
<tr>
<td>
<a href="/user/Bob">Bob Job</a>
</td>
<td>hi</td>
<td>280.0</td>
</tr>
I need to scrape the information from all 3 td fields. I use firebug to extract the XPath which displays my XPath as
/html/body/table[2]/tbody/tr/td[2]/div/table/tbody/tr[2]/td[3]
what is the best way to extract data when the XPaths are the same? I may only need data from td[1] and td[3].
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您必须确定一个标准来提取值并将它们放入相应的项目字段中。例如
You will have to identify a criteria to extract the values and put them in respective item fields. e.g.
Firebugs 复制 xpath 并不总是最佳的。
抓取表格时,首先找到一种方法来迭代
字段,例如
//table[@id='results']/tr
,然后再执行另一个查询获取每行所需的 td 字段。//td
这样更简单。Firebugs copy xpath isn't always optimal.
When scraping tables, first find a way to iterate the
<TR>
fields like//table[@id='results']/tr
, then do another query to grab the td fields you need for each row.//td
Simpler that way.