[英]Python Beautiful Soup not pulling all the data
我目前正在使用 Beautiful Soup 從 URL html 和特定的 class 和盧森堡證券交易所的 ID 中提取特定的發行人數據。
我正在使用的示例鏈接在這里: https://www.bourse.lu/security/XS1338503920/234821我要提取的數據是“Issuer”下存儲為文本的名稱; 在這種情況下,它是“ BNP Paribas Issuance BV ”。
我試過使用 class vi.nette-description-content-text ,但它似乎找不到任何數據,因為在查看湯時,並不是所有的 html 都被拉出來了。
我發現我當前的代碼只提取了 html 中的一部分,而且我不知道如何擴展它提取的數據。
import requests
from bs4 import BeautifulSoup
URL = "https://www.bourse.lu/security/XS1338503920/234821"
page = requests.get(URL)
soup = BeautifulSoup(page.content, 'html.parser')
results = soup.find(id='ResultsContainer', class_="vignette-description-content-text")
我發現了類似的問題並遵循了鏈接 1 、 鏈接 2和鏈接 3中顯示的指南,但使用的示例 html 似乎與我要抓取的網頁截然不同。
有沒有我缺少的東西來提取和抓取數據?
根據您的代碼,我懷疑您正在嘗試獲取具有class=vi.nette-description-content-text
和id=ResultsContaine
ResultsContaine 的元素。 class_
是正確的使用方式,但不是id
試試這個:
import requests
from bs4 import BeautifulSoup
URL = "https://www.bourse.lu/security/XS1338503920/234821"
page = requests.get(URL)
soup = BeautifulSoup(page.content, 'html.parser')
def applyFilter(element):
if element.has_attr('id') and element.has_attr('class'):
if "vignette-description-content-text" in element['class'] and element['id'] == "ResultsContainer":
return True
results = soup.find_all(applyFilter)
for result in results:
#Each result is an element here
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.