1

Beautiful Soup 是一个 Python 库,用于从 HTML 和 XML 文件中提取数据。我将使用它来提取网页数据,但我没有找到任何方法来单击按钮,anchor label这些按钮在我的情况下用于页面导航。所以为此我必须使用任何其他或 beautiful soup具有我不知道的能力。

请给我建议!

4

1 回答 1

1

要回答您的标签/评论,是的,您可以将它们一起使用(Selenium 和 BeautifulSoup),不,您不能直接使用 BeautifulSoup 来执行事件(单击等)。尽管我自己从未在相同的情况下将它们一起使用,但假设情况可能涉及使用 Selenium 通过特定路径导航到目标页面(即click()这些选项,然后click()是按钮到下一页),然后使用 BeautifulSoup阅读driver.page_sourcedriver您为“驱动”浏览器而创建的 Selenium 驱动程序在哪里)。由于driver.page_source是页面的 HTML,因此您可以按照习惯使用 BeautifulSoup,解析出您需要的任何信息。

简单的例子:

from bs4 import BeautifulSoup
from selenium import webdriver

# Create your driver
driver = webdriver.Firefox()

# Get a page
driver.get('http://news.ycombinator.com')

# Feed the source to BeautifulSoup
soup = BeautifulSoup(driver.page_source)

print soup.title  # <title>Hacker News</title>

主要思想是,无论何时您需要阅读页面的源代码,您都可以传递driver.page_sourceBeautifulSoup以阅读您想要的任何内容。

于 2013-01-04T07:13:15.243 回答