Scrapy-可选的hxs.select
所以,我的问题是,当我提取数据时,页面上有几个条目,因为没有链接也与它们关联,所以它们不会被选中: 这里要更好地解释的是Scrapy-可选的hxs.select,select,xpath,scrapy,Select,Xpath,Scrapy,所以,我的问题是,当我提取数据时,页面上有几个条目,因为没有链接也与它们关联,所以它们不会被选中: 这里要更好地解释的是hxs.select语句,它获取了几乎所有的数据: opening = hxs.select('//div[@id="body"]/div/table/tr/td/table/tr[2]/td/table[2]/tr/td[7]/font/a/text()').extract() 这句话除了3个电影开映日期外,其他时间都有。正如我所提到的,这三个缺失的日期没有关联,实际上可
hxs.select
语句,它获取了几乎所有的数据:
opening = hxs.select('//div[@id="body"]/div/table/tr/td/table/tr[2]/td/table[2]/tr/td[7]/font/a/text()').extract()
这句话除了3个电影开映日期外,其他时间都有。正如我所提到的,这三个缺失的日期没有关联,实际上可以在以下位置找到:
hxs.select('//div[@id="body"]/div/table/tr/td/table/tr[2]/td/table[2]/tr/td[7]/font/text()').extract()
*注意:末尾没有找到/a
我只想添加一个额外的语句来获取这些,但我需要所有的信息。我也有得到电影标题和总收入的声明。然后,我将这些语句进行迭代,将它们与它们所属的位置配对——如果我添加另一个语句来单独处理它们,我就无法做到这一点。有什么建议吗
::数据:
这是我试图获取的数据的url
快速提示:如果使用Firebug查看xpath,它会添加实际上不存在的tbody
(它会将其添加到中)
以下是正常的开幕日期:
<td bgcolor="#ffffff" align="right">
<font size="2">
<a href="/schedule/?view=bydate&release=theatrical&date=2010-06-11&p=.htm">6/11/2010</a>
</font>
</td>
以下是其中一个“有问题”的开幕日期:
<td bgcolor="#f4f4ff" align="right">
<font size="2">11/20/1981</font>
</td>
11/20/1981
只需使用子体或自轴步骤选择该
元素中的所有文本节点/
//div[@id="body"]/div/table/tr/td/table/tr[2]/td/table[2]/tr/td[7]/font//text()
请发布示例数据。正如@JensErat所说,示例数据将非常有用。我还想知道,一部电影的不同元素(片名、总收入、开场白数据)是否有共同的祖先,这样你就不需要将它们与它们所属的位置配对:例如,你会有
movies=hxs.select('//div[@id=“body”]/div/table/tr')
然后对于电影中的电影:opening\u date=movie.select('td/table/tr[2]/td/table[2]/tr/td[7]/font/text())
..@JensErat我添加了样本数据和链接!感谢您的查找!@pault。我添加了样本数据和链接!感谢您的查找!非常感谢您花时间解决我的问题!标记“答案已接受”并投票!