美汤也能主打网页活动吗?

问题描述 投票:0回答:1

Beautiful Soup 是一个用于从 HTML 和 XML 文件中提取数据的 Python 库。我将使用它来提取网页数据,但我没有找到任何方法来单击按钮,

anchor label
,这些按钮在我的情况下用于页面导航。因此,为此我必须使用任何其他或
beautiful soup
具有我不知道的功能。

请给我建议!

selenium python-2.7 beautifulsoup selenium-webdriver
1个回答
2
投票

回答你的标签/评论,是的,你可以一起使用它们(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
以便阅读你想要的任何内容。

© www.soinside.com 2019 - 2024. All rights reserved.