【问题标题】:Selenium BeautifulSoup strange errorSelenium BeautifulSoup 奇怪的错误
【发布时间】:2012-12-01 08:10:59
【问题描述】:

在我的 Django 应用程序中,我使用 selenium 来获取页面并使用 BeautifulSoup 来解析 html。我正在使用 Xvfb 在 Debian 中工作。这是代码:

from selenium import webdriver
import os

os.environ["DISPLAY"]=":99"
driver = webdriver.Firefox()
driver.get("www.google.it")
text = driver.page_source

soup = BeautifulSoup(text)  

(... some code to parse the page with ...)

我有一个非常奇怪的错误:如果我在“汤”中搜索,什么也找不到。这不会发生在我的本地 Windows XP 机器上。在“文本”中有 html。

更新:我认为这可能是编解码器/解码错误,但在这种情况下我不知道如何处理。

【问题讨论】:

  • 我假设你在那里的某个地方正在做from bs4 import BeautifulSoup 是吗? soup.prettify() 显示什么?
  • 另外,当你说“如果我在汤里搜索什么都找不到”......你能更具体一点吗?您用于测试该搜索的代码是什么?
  • @Amanda:是的,我正在从 bs4 导入 BeautifulSoup。 soup.prettify() 显示 html()。我已经测试了这个 html e 我发现它不正确。这是错误。当我这样做时:soup = BeautifulSoup(text) 我得到一个“错误”的汤。我在 debian 中的浏览器版本可能有误吗?

标签: python django selenium beautifulsoup


【解决方案1】:

您实际上并没有获取页面,因此没有什么要解析的。 WebDriver 需要一个有效的 url(以“http://”或“https://”开头)

您应该更改以下行:

driver.get("www.google.it")

到:

driver.get("http://www.google.it")

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-12-16
    • 1970-01-01
    • 2010-11-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-11
    • 2012-04-27
    相关资源
    最近更新 更多