我希望抓取以下網頁,我希望抓取頁面上的所有文本,包括所有可點擊的元素。
我嘗試使用請求:
import requests
response = requests.get("https://cronoschimp.club/market/details/2424?isHonorary=false")
response.text
它抓取了元資料,但沒有抓取實際資料。
有沒有辦法點擊并獲取浮動框中的元素?
uj5u.com熱心網友回復:
由于它是啟用 Javascript 的網頁,因此您無法使用請求獲得任何輸出,bs4 因為它們無法呈現 javascript。所以,你需要一個自動化工具,比如 selenium。在這里,我將 selenium 與 bs4 一起使用,并且作業正常。請參閱以下最小作業示例:
代碼:
from bs4 import BeautifulSoup
import time
from selenium import webdriver
driver = webdriver.Chrome('chromedriver.exe')
driver.maximize_window()
time.sleep(8)
url = 'https://cronoschimp.club/market/details/2424?isHonorary=false'
driver.get(url)
time.sleep(20)
soup = BeautifulSoup(driver.page_source, 'lxml')
name = soup.find('div',class_="DetailsHeader_title__1NbGC").get_text(strip=True)
p= soup.find('span',class_="DetailsHeader_value__1wPm8")
price= p.get_text(strip=True) if p else "Not for sale"
print([name,price])
輸出:
['Chimp #2424', 'Not for sale']
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/370862.html
