Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python不会提取所有数据_Python_Html_Web Scraping_Beautifulsoup - Fatal编程技术网

Python不会提取所有数据

Python不会提取所有数据,python,html,web-scraping,beautifulsoup,Python,Html,Web Scraping,Beautifulsoup,我目前正在寻找从URL html中提取特定发行人数据,并使用Beautiful Soup从卢森堡证券交易所获取特定类和ID 我使用的示例链接如下: 我试图提取的数据是存储为文本的“Issuer”下的名称;在这种情况下,它是“法国巴黎银行发行有限公司” 我尝试过使用类vignette描述内容文本,但它似乎找不到任何数据,因为在查看soup时,并不是所有的html都被提取出来 我发现我当前的代码只提取了一些html,我不知道如何扩展它所提取的数据 import requests from bs4 i

我目前正在寻找从URL html中提取特定发行人数据,并使用Beautiful Soup从卢森堡证券交易所获取特定类和ID

我使用的示例链接如下: 我试图提取的数据是存储为文本的“Issuer”下的名称;在这种情况下,它是“法国巴黎银行发行有限公司”

我尝试过使用类vignette描述内容文本,但它似乎找不到任何数据,因为在查看soup时,并不是所有的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")
我发现了类似的问题,并遵循了和中所示的指南,但所使用的示例html似乎与我要浏览的网页非常不同


我是否缺少一些东西来提取和刮取数据?

根据您的代码,我怀疑您正在尝试获取具有
class=vignette description content text
id=resultcontaine
的元素。
是正确的使用方式,但与
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

我认为问题可能在于您想要的数据是由网页上的javascript生成的,而不是实际的html。使用selenium而不是beautifulsoup可能会更幸运。但我对硒不太熟悉;希望其他人能提供更多帮助。祝你好运。嗨@Shreyesh,谢谢你在这方面花时间。我已经尝试使用上面定义的过滤器函数运行代码,但是,我仍然得到一个空的结果数组。问题仍然不是所有html都不是由Beautifulsoup函数提取的吗?它是一个javascript页面,因此最终呈现的页面不是请求模块返回的数据的一部分。您可能需要考虑使用selenium获取最终呈现的HTML,在selenium中使用浏览器及其驱动程序(例如:)