我正试着从这一页上刮下球员的名字:https://www.espncricinfo.com/series/england-in-pakistan-2022-1327226/pakistan-vs-england-1st-t20i-1327228/full-scorecard
要做到这一点,我首先得到包含击球记分卡的表格:
batting_scorecard = response.xpath("//table[@class='ds-w-full ds-table ds-table-md ds-table-auto ci-scorecard-table']")
然后我试着得到球员的名字:
batting_scorecard.xpath("//a[contains(@href,'/player/')]/span/span/text()").getall()
这将返回一个列表,其中包含所有球员的名字(以及一些要解析的垃圾),但也包含不在指定表中的球员/裁判/裁判的名字。
在下面的列表中,“Luke Wood”(最后一个匹配项)、“Aleem Dar”、“Asif Yaqoob”、“Ahsan Raza "、”Rashid Riaz“、”Muhammad Javed“不应返回,因为它们位于不同的表中。batting_scorecard表具有类"ds-w-full ds-table ds-table-md ds-table-auto ci-scorecard-table"
,而此数据位于类"ds-w-full ds-table ds-table-sm ds-table-auto "
的表中。
有人能看出问题出在哪里吗?
['Mohammad Rizwan',
'\xa0',
'Babar Azam',
'\xa0',
'Haider Ali',
'\xa0',
'Shan Masood',
'\xa0',
'Iftikhar Ahmed',
'\xa0',
'Mohammad Nawaz',
'\xa0',
'Khushdil Shah',
'\xa0',
'Naseem Shah',
'\xa0',
'Usman Qadir',
'\xa0',
'Haris Rauf',
',',
'\xa0',
'Shahnawaz Dahani',
'\xa0',
'Phil Salt',
'\xa0',
'Alex Hales',
'\xa0',
'Dawid Malan',
'\xa0',
'Ben Duckett',
'\xa0',
'Harry Brook',
'\xa0',
'Moeen Ali',
'\xa0',
'Sam Curran',
',',
'\xa0',
'David Willey',
',',
'\xa0',
'Adil Rashid',
',',
'\xa0',
'Luke Wood',
',',
'\xa0',
'Richard Gleeson',
'\xa0',
'Luke Wood',
'Aleem Dar',
'Asif Yaqoob',
'Ahsan Raza',
'Rashid Riaz',
'Muhammad Javed',
'Mohammad Rizwan',
'\xa0',
'Babar Azam',
'\xa0',
'Haider Ali',
'\xa0',
'Shan Masood',
'\xa0',
'Iftikhar Ahmed',
'\xa0',
'Mohammad Nawaz',
'\xa0',
'Khushdil Shah',
'\xa0',
'Naseem Shah',
'\xa0',
'Usman Qadir',
'\xa0',
'Haris Rauf',
',',
'\xa0',
'Shahnawaz Dahani',
'\xa0',
'Phil Salt',
'\xa0',
'Alex Hales',
'\xa0',
'Dawid Malan',
'\xa0',
'Ben Duckett',
'\xa0',
'Harry Brook',
'\xa0',
'Moeen Ali',
'\xa0',
'Sam Curran',
',',
'\xa0',
'David Willey',
',',
'\xa0',
'Adil Rashid',
',',
'\xa0',
'Luke Wood',
',',
'\xa0',
'Richard Gleeson',
'\xa0',
'Luke Wood',
'Aleem Dar',
'Asif Yaqoob',
'Ahsan Raza',
'Rashid Riaz',
'Muhammad Javed']
1条答案
按热度按时间qco9c6ql1#
将选择器更改为:
这样(通过在xpath前面添加一个点),XPATH将只在实际元素内搜索,而不是在整个页面中搜索。