如何从网页中的表中抓取所有元素?

问题描述 投票:1回答:1

我正在玩下面的代码。我只是想从表中获取所有元素,我认为下面的代码会这样做,但我得到的是一条消息:'None'

website_url = requests.get('https://google_cloud_platform.html').text
from bs4 import BeautifulSoup
soup = BeautifulSoup(website_url,'lxml')
print(soup.prettify())

My_table = soup.find('table',{'class':'p6n-table-full-width p6n-space-above-large p6n-table'})
print(My_table)

这是我想要吸引的项目的图像。

enter image description here

也许我需要寻找其他类型的标识符。我不确定,到底要找什么。有没有办法列出所有表名?也许它实际上有不同的名称,ID或某种类似的东西。

我开始认为它甚至不是一张真正的桌子。当我运行下面的脚本时,我得到这个:'IndexError:列表索引超出范围'。这让我觉得网页上甚至没有一个表格。但是,根据我发布的屏幕截图,有一种叫做“桌子类”的东西。

import pandas as pd
import requests
from bs4 import BeautifulSoup

res = requests.get("https://google_cloud_platform.html")
soup = BeautifulSoup(res.content,'lxml')
table = soup.find_all('table')[0] 
df = pd.read_html(str(table))
print(df[0].to_json(orient='records'))
python python-3.x
1个回答
0
投票

试试这个

import requests
from bs4 import BeautifulSoup

res = requests.get("http://127.0.0.1:1234")
soup = BeautifulSoup(res.text, features="lxml")
table = soup.find_all('table')
for t in table:
    print(t.contents)
© www.soinside.com 2019 - 2024. All rights reserved.