美丽的汤还能打网页活动吗?

时间:2013-01-03 21:20:37

标签: selenium python-2.7 beautifulsoup selenium-webdriver

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

请建议我!

1 个答案:

答案 0 :(得分:1)

要回答你的标签/评论,是的,你可以一起使用它们(Selenium和BeautifulSoup),不,你不能直接使用BeautifulSoup来执行事件(点击等)。虽然我自己还没有在相同的情况下一起使用它们,但假设的情况可能涉及使用Selenium通过某个路径导航到目标页面(即click()这些选项然后click()按钮到下一页),然后使用BeautifulSoup阅读driver.page_source(其中driver是您创建的“驱动”浏览器的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_source传递给BeautifulSoup,以便阅读您想要的任何内容。