缩小我使用python从网站上抓取的内容的范围

缩小我使用python从网站上抓取的内容的范围,python,beautifulsoup,find,screen-scraping,page-inspector,Python,Beautifulsoup,Find,Screen Scraping,Page Inspector,我正在尝试为网站练习python抓取,但是在python没有意识到我的要求的情况下,我很难将其缩小到一个合理的大小。例如,以下是我的代码: 导入bs4 导入请求 url=请求。获取('https://ballotpedia.org/Alabama_Supreme_Court') soup=bs4.BeautifulSoup(url.text,'html.parser') y=soup.find('table') 打印(y) 我正试图搜集阿拉巴马州最高法院法官的姓名,但有了这部法典,我得到的信息

我正在尝试为网站练习python抓取,但是在python没有意识到我的要求的情况下,我很难将其缩小到一个合理的大小。例如,以下是我的代码:

导入bs4
导入请求
url=请求。获取('https://ballotpedia.org/Alabama_Supreme_Court')
soup=bs4.BeautifulSoup(url.text,'html.parser')
y=soup.find('table')
打印(y)
我正试图搜集阿拉巴马州最高法院法官的姓名,但有了这部法典,我得到的信息太多了。我尝试过(第6行)

y=soup.find('table',{'class':'wikitable sortable'})`
但是我收到一条消息说搜索没有结果

这是检查网页的图片。我的目标是让thead在我的代码中工作,但失败了

如何向python指定我只需要评委的姓名


多谢各位

简单地说,我会这样做

将熊猫作为pd导入
df=pd.read_html(“https://ballotpedia.org/Alabama_Supreme_Court”[2][“法官”]
打印(df.to_list())
输出:

['Brad Mendheim', 'Kelli Wise', 'Michael Bolin', 'William Sellers', 'Sarah Stewart', 'Greg Shaw', 'Tommy Bryan', 'Jay Mitchell', 'Tom 
Parker']
['Brad Mendheim', 'Kelli Wise', 'Michael Bolin', 'William Sellers', 'Sarah Stewart', 'Greg Shaw', 'Tommy Bryan', 'Jay Mitchell', 'Tom Parker']
现在回到原来的
问题
来解决它,因为我个人喜欢解决真正的问题,而无需导航到其他解决方案

find
只返回第一个
元素
,但是
find\u all
将返回
元素列表
。检查一下

直接从bs4导入
导入BeautifulSoup
,而不是导入bs4,因为它是Python的核心

离开bs4处理内容,因为这是它在后台的任务之一。因此,不要使用
r.text
而使用
r.content

现在,我们将深入
HTML
来选择它:

从bs4导入美化组
导入请求
r=请求。获取(“https://ballotpedia.org/Alabama_Supreme_Court")
soup=BeautifulSoup(r.content'html.parser')
打印([item.text用于汤中的项目。选择(
“table.wikitable.sortable.jquery-tablesorter a”)])
现在,你必须阅读

输出:

['Brad Mendheim', 'Kelli Wise', 'Michael Bolin', 'William Sellers', 'Sarah Stewart', 'Greg Shaw', 'Tommy Bryan', 'Jay Mitchell', 'Tom 
Parker']
['Brad Mendheim', 'Kelli Wise', 'Michael Bolin', 'William Sellers', 'Sarah Stewart', 'Greg Shaw', 'Tommy Bryan', 'Jay Mitchell', 'Tom Parker']
你不能在y=soup.find('table')中运行find('a')吗?(如果得到列表,则为y[0])