由于奇怪的原因,BeautifulSoup代码未移植到Windows 8设备

2024-09-30 22:24:01 发布

您现在位置:Python中文网/ 问答频道 /正文

我已经编写了代码,使用BeautifulSoup、请求和lxml解析器作为导入,从Wikipedia中搜寻未内置到Python 2.7中的链接。 我创建了一个批处理文件,该文件将运行get-pip.py,然后安装启动bat文件的人运行我的程序所需的所有内容。我在Ubuntu、LinuxMint、Windows10和Fedora上使用了这个,但是当我在Windows8机器上运行时,我得到了最荒谬的错误

我在代码中指定,当我初始化BeautifulSoup对象时,它使用“lxml”解析器。下面是Python的示例代码

soupobj = BeautifulSoup(source_code, 'lxml')

除非我将上面的代码更改为

soupobj = BeautifulSoup(source_code)

此外,我不能有以下内容:

from bs4 import BeautifulSoup, NavigableString

一定是

from BeautifulSoup import BeautifulSoup, NavigableString

否则它会说它无法创建BeautifulSoup对象

最奇怪的错误来自于我改变了上面的所有内容,让它最终开始运行。它将运行良好的几个链接,然后它会说

AttributeError: 'NavigableString' object has no attribute 'name'

当我执行以下操作时:

for element in contents_section.contents:if element.name == 'ul':

但在其他每台机器上,它在调试期间从未抛出过此错误,我无法在windows 8机器上复制此错误

我迫切需要让这段代码在Windows 8上运行,因为用户在技术问题上一点也不得体,这需要能够部署,但在Windows 8上有太多问题。在其他每台机器上,这段代码都可以部署和发布,但Windows 8只是分崩离析

提前感谢您在这个非常模糊的问题上提供的任何帮助


Tags: 文件对象代码机器解析器source内容链接