Beautiful Soup 4 find_all 找不到 Beautiful Soup 3 找到的链接

2023-11-26

我注意到一个非常烦人的错误:BeautifulSoup4(包:bs4)经常会发现比以前版本更少的标签(包:BeautifulSoup).

这是该问题的一个可重现的实例:

import requests
import bs4
import BeautifulSoup

r = requests.get('http://wordpress.org/download/release-archive/')
s4 = bs4.BeautifulSoup(r.text)
s3 = BeautifulSoup.BeautifulSoup(r.text)

print 'With BeautifulSoup 4 : {}'.format(len(s4.findAll('a')))
print 'With BeautifulSoup 3 : {}'.format(len(s3.findAll('a')))

Output:

With BeautifulSoup 4 : 557
With BeautifulSoup 3 : 1701

正如您所看到的,差异并不小。

以下是模块的确切版本,以防有人想知道:

In [20]: bs4.__version__
Out[20]: '4.2.1'

In [21]: BeautifulSoup.__version__
Out[21]: '3.2.1'

你有lxml已安装,这意味着BeautifulSoup 4将使用that标准库上的解析器html.parser option.

您可以将 lxml 升级到 3.2.1(对我来说,它会为您的测试页返回 1701 个结果); lxml本身使用libxml2 and libxslt这也可能是罪魁祸首。您可能需要升级those相反/也。请参阅lxml 需求页面;目前建议使用 libxml2 2.7.8 或更高版本。

或者在解析 soup 时显式指定其他解析器:

s4 = bs4.BeautifulSoup(r.text, 'html.parser')
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Beautiful Soup 4 find_all 找不到 Beautiful Soup 3 找到的链接 的相关文章

随机推荐

  • 从代码更改清单元数据

    我有一个使用广告的应用程序 广告 ID 通过元数据标签在清单 ID 中设置 在某些情况下 我想在启动应用程序时更改此标签 某些本地化版本的 ID 不同 我可以在代码中做到这一点吗 清单元数据无法在运行时更改 您应该查看您的广告库是否允许直接
  • Eclipse Android SDK - 构建工作区时出错

    我已使用 Android SDK Manager 更新了我的软件包 并单击 帮助 gt 检查更新并更新了已安装的插件 提示我重新启动eclipse 现在重新启动后 我收到以下错误代码 Building workspace has encou
  • 在 Swift SpriteKit 项目中播放声音?

    当我运行这段代码时 runAction SKAction playSoundFileNamed Click mp3 waitForCompletion false 我的应用程序崩溃了 由于未捕获的异常 NSInvalidArgumentEx
  • 如何使 jQuery UI 'draggable()' div 可拖动用于触摸屏?

    我有一个 jQuery 用户界面draggable 适用于 Firefox 和 Chrome 用户界面概念基本上是单击以创建 便利贴 类型的项目 基本上 我点击或点击div everything 100 高和宽 监听点击 并显示输入文本区域
  • 如何在每个 jupyter Notebook 内核之前运行 Python 代码

    假设我有一个代码片段 我想在每次打开 jupyter 笔记本时运行 在我的例子中 它打开 Spark 连接 假设我将该代码保存在 py 脚本中 启动 py sc This is a spark connection 我希望每次打开内核时都能
  • Spark Scala - java.util.NoSuchElementException 和数据清理

    我有过一次之前有类似问题 但我正在寻找一个普遍的答案 我在用火花核心LP获取电子邮件的情绪分数 有时 sentiment 在某些输入上崩溃 可能太长 可能有意外的字符 它没有告诉我它在某些情况下崩溃 只是返回Column sentiment
  • 产品处于应用程序计费托管和非托管状态

    我对 android 很陌生 我正在研究应用程序内计费 我的问题是添加应用程序内产品时托管和非托管状态的主要目的是什么 任何人都可以告诉我托管状态有什么用 非托管状态有什么用 托管和非托管之间的主要区别在于 托管购买只能购买一次 并且与购买
  • 何时更新审核字段? DDD

    我有一个会议对象 Meeting id name time CreatedBy UpdatedBy and a MeetingAssignee id MeetingID EmployeeId CreatedBy UpdatedBy 会议作为
  • Python-Wand 序列未从内存中清除

    如果我执行以下操作 for root dirs files in os walk myDir for myFile in files with Image filename myFile as img with Image image im
  • 如何保存深色/浅色模式切换的 cookie?

    我正在使用W3Schools 深色模式切换对于我的网站 它运行得很好 但在我刷新页面后 就会显示默认视图 日间模式 This is 网页测试页 如何设置 cookie 以便如果用户选择深色模式 则页面默认以深色模式打开 另外 如何将其应用于
  • Android:带参数的 Http post 不起作用

    我需要创建一个带有参数的 HTTP POST 请求 我知道有很多例子 我尝试过使用 HTTPparams NameValuePair 等 但似乎无法获得服务器的正确格式 Server Type REST based API utilizin
  • 错误:Android 源在 Eclipse 中构建

    在尝试将 android 源添加到 eclipse 时 我收到以下错误 Project android is missing required library out target common obj JAVA LIBRARIES gsf
  • 有效绘制树木的算法?

    我需要用 C 绘制一个公司结构树 有点像家谱 所有的辅助代码都在那里 它是彩色的 互动的 奇特的 唯一的麻烦是实际决定每个节点放置位置的算法给我带来了很大的悲伤 目前 盒子的大小为 100x50 我有一个名为StaffNode它代表特定 x
  • 我想更改所选的每个城市或子城市的图表

    我用 AngularJS 开发了一个简单的应用程序 我想基于这个网站添加一个简单的图表Js 图表 这是我的数据 json name city A elements id c01 name name1 price 15 qte 10 id c
  • OOP 的重点是什么?

    Locked 这个问题及其答案是locked因为这个问题是题外话 但却具有历史意义 目前不接受新的答案或互动 据我所知 尽管在 OOP 教育 语言和工具上花费了数百万甚至数十亿美元 但 OOP 并没有提高开发人员的生产力或软件可靠性 也没有
  • ASP.NET core 中的密码重置令牌提供程序 - 未找到 IUserTokenProvider

    Hello 为了进行密码重置工作 我需要将 IUserTokenProvider 实例注册到 DI 中 如果没有它 我会在以下行中得到异常 var result await userManager ResetPasswordAsync us
  • 如何从 Ruby 可枚举中获取列表?

    我知道Python的list可以消耗生成器中所有元素的方法 Ruby 中有类似的东西吗 我知道 elements enumerable each i elements lt lt i 我也知道inject选择 有现成可用的方法吗 Enume
  • 如何创建以用户名作为子域名的子域?

    我提到了其他相关问题 但我不清楚 请解释一下 如何在 PHP 中创建子域 例子 http www domainname com page php usname sundar 我想更改此链接 http sundar domainname co
  • Google Play 开发者控制台与 Crashlytics 控制台中的崩溃

    我们在 Google Play 商店中有一个 Android 应用程序 应用程序的崩溃和 ANR 部分仅列出了少数几个最严重的崩溃 而我们的 Crashlytics 控制台列出了一组完全不同的崩溃 我的意思是 Crashlytics 中只有
  • Beautiful Soup 4 find_all 找不到 Beautiful Soup 3 找到的链接

    我注意到一个非常烦人的错误 BeautifulSoup4 包 bs4 经常会发现比以前版本更少的标签 包 BeautifulSoup 这是该问题的一个可重现的实例 import requests import bs4 import Beau