Beautiful Soup是一個用於從HTML和XML文件中提取數據的Python庫。我會用它來提取網頁數據,但我沒有找到任何方法來點擊按鈕,anchor label
這是在我的情況下使用的頁面導航。所以爲此我必須使用任何其他或beautiful soup
有我沒有意識到的能力。美麗的湯也能擊中網頁事件嗎?
請指教!
Beautiful Soup是一個用於從HTML和XML文件中提取數據的Python庫。我會用它來提取網頁數據,但我沒有找到任何方法來點擊按鈕,anchor label
這是在我的情況下使用的頁面導航。所以爲此我必須使用任何其他或beautiful soup
有我沒有意識到的能力。美麗的湯也能擊中網頁事件嗎?
請指教!
要回答你的標籤/評論,是的,你可以一起使用它們(Selenium和BeautifulSoup),不,你不能直接使用BeautifulSoup來執行事件(點擊等)。儘管我自己從未在相同的情況下一起使用它們,但假設的情況可能涉及使用Selenium通過特定路徑導航到目標頁面(即,這些選項爲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
。
感謝您的回覆!現在我想知道我將如何使用'selenium webdriver'和其他網頁來使用'美麗的湯'來嵌入這樣的模塊來進行網頁導航?這兩個不同的'.py'文件如何在它們之間進行通信。我有點困惑。引導我在這裏瞭解。您可以以[ADO](http://www.devguru.com/technologies/ado/8530.asp)爲例,進入下一頁或者將這些值報廢到「屬性」部分下的文本文件中。如果可能的話請引導我在這裏演示。 – CodeLover
@CodeLover當然,編輯一個非常簡單的例子。希望它有助於:) – RocketDonkey
感謝您表示您的興趣,以幫助我。一個有知識的人應該像你一樣! :) – CodeLover
我可以一起使用硒和美麗的湯嗎? – CodeLover