以下是我正在抓取的HTML代码部分。
<div class="RadAjaxPanel" id="LiveBoard1_LiveBoard1_litGamesPanel">
<a href="leaders.aspx?pos=all&stats=pit&lg=all&qual=0&type=8&season=2016&month=0&season1=2016&ind=0&team=0&rost=0&age=0&filter=&players=p2018-04-20">
Today's Probable Starters and Lineups Leaderboard
</a>
</div>
在整个代码中,我需要找出一种方法来刮除这个div类中的所有链接,除了上面发布的链接。有谁知道如何分解特定div类中的一个特定链接,但仍然刮掉剩余的链接?关于此特定链接,链接的开头(“leaders.aspx”)与我当前定位的链接不同。以下是我当前代码的示例。
import requests
import csv
from bs4 import BeautifulSoup
page=requests.get('https://www.fangraphs.com/livescoreboard.aspx?date=2018-04-18')
soup=BeautifulSoup(page.text, 'html.parser')
#Remove Unwanted Links
[link.decompose() for link in soup.find_all(class_='lineup')]
[yesterday.decompose() for yesterday in soup.find_all('td',attrs=
{'colspan':'2'})]
team_name_list=soup.find(class_='RadAjaxPanel')
team_name_list_items=team_name_list.find_all('a')
for team_name in team_name_list_items:
teams=team_name.contents[0]
print(teams)
winprob_list=soup.find(class_='RadAjaxPanel')
winprob_list_items=winprob_list.find_all('td',attrs={'style':'border:1px
solid black;'})
for winprob in winprob_list_items:
winprobperc=winprob.contents[0]
print(winprobperc)
总而言之,我只需要删除第一个代码块中发布的“今天的可能启动器和阵容排行榜”链接。提前谢谢!
答案 0 :(得分:0)
只需将CSS selectors
与.select_one()
:
soup.select_one('.RadAjaxPanel > center > a').decompose()