【问题标题】:Which Python version to use for using BeautifulSoup and urllib?使用 BeautifulSoup 和 urllib 使用哪个 Python 版本?
【发布时间】:2016-11-16 13:40:27
【问题描述】:

我正在使用 Python 进行网络抓取。我在使用 Python 版本 3 时遇到了问题。所以我想知道哪个版本的 Python 适合网络爬取。

【问题讨论】:

  • 试试2.7版本,这个适合大部分应用版本。

标签: python beautifulsoup version


【解决方案1】:

我认为迁移到 Python 2.7 肯定有一个反对意见。我想不出你需要恢复到 Python 2.7 的理由,尤其是对于网络爬虫。

BeautifulSoup 4 和 lxml 都完全移植到 Python 3.5。

urllib 在 Python 3.5 中功能齐全。您应该知道 Python 2.7 和 Python 3.5 中有 differences in the implementation 的 urllib。

但是,我建议您使用 Requests 包而不是 urllib。这是一个 post 突出显示它们的一些差异。

如果您需要加载需要 javascript 的页面,Selenium 也适用于 Python 3.5。 Selenium 还可以支持无头浏览(例如 PhantomJS)。

另外,这里有一个来自 Python 的官方post,可以帮助您做出决定。

【讨论】:

  • 谢谢你:) 我会仔细检查这些链接。
【解决方案2】:

如果您选择安装标准 Python 发行版之一, 确保您拥有 Python 2.7.3 或更高版本,但不要使用 Python 3.0 或 之后;这些版本当然是最先进的版本,但是 我们将使用的许多包还没有 Python 3.X 支持,在他们这样做之前,3.X 并没有那么吸引人。为了一个好 关于 Python 3.X 中可用和不可用的讨论,请参阅选择 Python 版本。

得到了 website 的这个,它介绍并讨论了 Python 的网络爬虫。我建议你听听他们的建议。我还体验到 Python 2.7.* 是目前使用附加包的最佳应用程序。

【讨论】:

  • 如果这回答了您的问题,请标记问题,以便它也可以帮助其他人!
  • 安娜,你的回答是善意的,但我会(礼貌地!)争辩说,现在在 2017 年,甚至在 2016 年末,当你发布时,你链接到的那个网站上的那段信息已经过时了日期,一般来说和关于网络抓取。站点列出的所有包(从 numpy 到 ipython 的 1-7 个)都在 Python 3 中可用,并且已经存在了一段时间。偶尔会出现一些边缘情况,但通常不再需要使用 2.7 来阻止
猜你喜欢
  • 2018-09-22
  • 2011-12-16
  • 1970-01-01
  • 1970-01-01
  • 2011-02-08
  • 1970-01-01
  • 2012-06-21
  • 2017-11-28
  • 2018-02-07
相关资源
最近更新 更多