我想知道如何从隐藏行中包含的第一个表中下载数据,并通过以下链接将其保存到数组中:
https://www.diretta.it/giocatore/dybala-paulo/W4myUVXR/
要看到它们,我必须按下你在图像中看到的按钮"show more matches"
。
重要的是,代码下载第一个匹配表中的每个数字/名称,甚至是问题焦点所在的隐藏行中的元素。
当您按下该按钮时,表格将显示与该玩家最老游戏相关的其他行。
我使用了你在下面看到的代码,只能下载你看到的信息,而不能下载你按下按钮后得到的信息
for record in link.findAll('a', class_ = 'leagueTable__team'):
linkplayer = record.get('href')
destlink.append(linkplayer)
for i in range(len(destlink)):
link_step1 = "https://www.diretta.it"+ destlink[i]+"/rosa/"
link_team.append(link_step1)
link_soap1=make_soup(link_step1)
for record in link_soap1.findAll('div', class_='tableTeam__squadName--playerName'):
for record1 in record.findAll("a"):
linkplayer = record1.get('href')
link_step2=diretta+linkplayer
players.append(linkplayer)
link_step2_list.append(link_step2)
for i in range(len(link_step2_list)):
link_soap2 = make_soup(link_step2_list[i])
for record in link_soap2.findAll('div', class_='playerTable__date'):
date = record.get_text()
print(date)
HTML格式:
<div class = class="profileTable__row profileTable__row--last show-more-last-matches">
<a>Mostra più incontri</a>
</div>
<script type="text/javascript">
$this = $('.profileTable__row--leagueHeading')
$this.hide();
$(document).ready(function() {
$this.eq(0).show();
var actualElement = $this.eq(0).attr('data-state');
for(var i = 1; i < $this.length; i++) {
if($this.eq(i).attr('data-state') != actualElement) {
$this.eq(i).show();
actualElement = $this.eq(i).attr('data-state');
}
}
})
数据是通过一个新的请求获得的,结果是json。一种可能是让脚本执行该请求并解析json对象
我不知道bs4,但是
在单击“显示更多”链接之前,“隐藏”数据实际上不在页面中。所以你需要用硒来:
此代码将打开页面,找到链接,然后单击它:
你还需要在盒子上安装chrome驱动程序
https://chromedriver.chromium.org/downloads
相关问题 更多 >
编程相关推荐