簡體   English   中英

Python Beautiful Soup 沒有拉取所有數據

[英]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-textid=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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM