Python lxml xpath在两个不同的unix发行版上给出了不同的结果

Python lxml xpath在两个不同的unix发行版上给出了不同的结果,python,ubuntu,lxml,fedora,lxml.html,Python,Ubuntu,Lxml,Fedora,Lxml.html,当我在两个不同的系统上运行这个xpath表达式时,会得到两个不同的结果 在Ubuntu14.04.2 LTS上,我得到了[“javascript:\uuuuDoPostback('datagrid\uResults$\uCTL44$\uCTL1','')] 在rehel fedora 2015.03(Amazon Linux AMI)上,我得到了[] 是完整的HTML源代码,是可以像这样运行的python源代码 python xpath.py file.html'//tr[42]/td//spa

当我在两个不同的系统上运行这个xpath表达式时,会得到两个不同的结果

在Ubuntu14.04.2 LTS上,我得到了
[“javascript:\uuuuDoPostback('datagrid\uResults$\uCTL44$\uCTL1','')]

在rehel fedora 2015.03(Amazon Linux AMI)上,我得到了
[]

是完整的HTML源代码,是可以像这样运行的python源代码

python xpath.py file.html'//tr[42]/td//span//following sibling::a[1]/@href'

您还可以使用预览HTML的外观(粘贴代码后)

除上述系统差异外,两个系统上的以下内容相同

Python 2.7.9

lxml3.5

Ubuntu上的软件包

  • libxslt,版本1.1.28-2build1
  • libxml2,版本2.9.1+dfsg1-3ubuntu4.5
RHEL Fedora上的套餐

  • libxml2,版本2.9.1,版本3.1.35.amzn1
  • libxslt,版本1.1.28,版本5.12.amzn1
在ubuntu服务器上,我有Pythonlxml3.3.3-1ubuntu0.1包,但由于某些原因,我在Fedora服务器上找不到它

>> yum list installed | grep lxml
>> rpm -qa | grep lxml
>> Sudo yum install python-lxml
Loaded plugins: priorities, update-motd, upgrade-helper
959 packages excluded due to repository priority protections
No package python-lxml available.
Error: Nothing to do

如果需要提供更多信息,请告诉我。

疯狂猜测时间。。。您是否从两台机器上的浏览器下载或测试了确切的文件?该网站可能根据浏览器版本提供了不同的数据。我假设您使用了“lxml.html”,它试图为lxml清除无效的xml。可能不同版本的清理方式不同。@tdelaney我测试了确切的文件,从站点下载时,我将用户代理锚定到Chrome 46。是的,我正在使用lxml.html.Darn。这是我的胡乱猜测!您可以在两个系统上保存lxml文档,并进行比较,以查看是否存在差异。但在这一点上,一切都是在抓救命稻草。