Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scrapy-可选的hxs.select_Select_Xpath_Scrapy - Fatal编程技术网

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。我添加了样本数据和链接!感谢您的查找!非常感谢您花时间解决我的问题!标记“答案已接受”并投票!