start_urls = http://www.espncricinfo.com/series/18679/scorecard/1144998/australia-vs-india-2nd-odi-india-in-aus-2018-19
Я очистил этот сайт и извлек результат матча (команда-победитель), а затем дал URL-адрес игрока и хочу напечатать имя игрока и стиль ватина. Моя первая проблема
1. Я не могу абстрагироваться от игрока. это под <pclass="ciPlayerinformationtxt"><b>Batting style</b> <span>Right-hand bat</span>
. Мне удалось только извлечь текст «Стиль ватина». Как извлечь «Правую руку»
2. Мне не удалось вывести все извлеченные данные в виде таблицы. Результат, который я получил, был
р
ссылка всего игрока
http://www.espncricinfo.com/ci/content/player/326434.html
Player_name Страна
Алекс Кэри Австралия
Кулдип Ядав Индия
Мохаммед Сирадж Индия
Winning_Team: Индия
class ScoreSpider(scrapy.Spider):
name = 'score'
allowed_domains = ['espncricinfo.com']
def parse(self, response):
Player_URLs=[]
#got the result
result= response.xpath('//div[@class="cscore_notes"]/span/text()').extract_first()
result=result.split(" ")
Winning_Team =result[0]
#extracted player ulrs
Batting_Player_URLs=response.xpath('//div[@class="cell batsmen"]/a/@href').extract()
Bowling_Player_URLs=response.xpath('//*[@class="scorecard-section bowling"]/table/tbody/tr/td/a/@href').extract()
#added to a list
Player_URLs.extend(Batting_Player_URLs)
Player_URLs.extend(Bowling_Player_URLs)
for p in Player_URLs:
yield Request(p,callback=self.parse_players,meta={'p':p})
yield{'Winning_Team':Winning_Team}
def parse_players(self,response):
Player_name=response.xpath('//div[@class="ciPlayernametxt"]/div/h1/text()').extract_first()
Country=response.xpath('//div[@class="ciPlayernametxt"]/div/h3/b/text()').extract_first()
#this wont give the batting style but the 'batting style' as text
Batting_style=response.xpath('//div[@class="ciPlayerinformationtxt"]/p/text()').extract_first()
yield{'Player_name':Player_name,
'Country':Country,
'Batting_style':Batting_style}
Мне нужны извлеченные данные в виде одной таблицы, и я хотел избежать повторения.
yield{'Winning_Team':Winning_Team,
'Player_name':Player_name,
'Country':Country,
'Batting_style':Batting_style}
Заранее спасибо