рдкрд╛рдпрдерди + lxml рдХреЗ рд╕рд╛рде рдкрд╛рд░реНрд╕рд┐рдВрдЧ рдХреА рдореВрд▓ рдмрд╛рддреЗрдВ

рд╢реБрдн рджреЛрдкрд╣рд░, рдкреНрд░рд┐рдп рдкрд╛рдардХреЛрдВред

рдЖрдЬ рдХреЗ рд▓реЗрдЦ рдореЗрдВ, рдореИрдВ рдЖрдкрдХреЛ Python рдХреЗ рд▓рд┐рдП lxml рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ HTML рдкреЗрдЬ рдорд╛рд░реНрдХрдЕрдк рдХреА рдореВрд▓ рдмрд╛рддреЗрдВ рджрд┐рдЦрд╛рдКрдВрдЧрд╛ред

рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, lxml рдкрд╛рдпрдерди рдореЗрдВ XML рдФрд░ HTML рдорд╛рд░реНрдХрдЕрдк рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рддреЗрдЬ рдФрд░ рд▓рдЪреАрд▓рд╛ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЗрд╕рдореЗрдВ рдПрдХ рдкреЗрдбрд╝ рдореЗрдВ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рддрддреНрд╡реЛрдВ рдХреЛ рд╡рд┐рдШрдЯрд┐рдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рд╣реИред рд▓реЗрдЦ рдореЗрдВ рдореИрдВ рдпрд╣ рджрд┐рдЦрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛ рдХрд┐ рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ рдЗрд╕рдХрд╛ рдЖрд╡реЗрджрди рдХрд┐рддрдирд╛ рд╕рд░рд▓ рд╣реИред





рдкрд╛рд░реНрд╕рд┐рдВрдЧ рд▓рдХреНрд╖реНрдп рдЪрдпрди



рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдЦреЗрд▓реЛрдВ рдореЗрдВ рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рд╢рд╛рдорд┐рд▓ рд╣реВрдВ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдореИрдВ рд╡рд┐рд╢реНрд╡ рдПрдордПрдордЖрдИ рдЯреВрд░реНрдирд╛рдореЗрдВрдЯреЛрдВ рдХреЗ рд╕рднреА рдЯреВрд░реНрдирд╛рдореЗрдВрдЯреЛрдВ рдореЗрдВ рджрд░реНрджрдирд╛рдХ рд░рд┐рд╕реЗрдкреНрд╢рди рдкрд░ BJJ рдХреЗ рдЖрдВрдХрдбрд╝реЛрдВ рдХреЛ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ред

рдПрдХ рд░рдВрдмрд▓ рдХреА рдЦреЛрдЬреЛрдВ рдиреЗ рдореБрдЭреЗ рдкреНрд░рдореБрдЦ рдЕрдВрддрд░рд░рд╛рд╖реНрдЯреНрд░реАрдп рдорд┐рд╢реНрд░рд┐рдд рдорд╛рд░реНрд╢рд▓ рдЖрд░реНрдЯ рдЯреВрд░реНрдирд╛рдореЗрдВрдЯ рдХреЗ рд╕рднреА рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдЖрдВрдХрдбрд╝реЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рд╕рд╛рдЗрдЯ рдкрд░ рд▓реЗ рдЧрдпрд╛ред рдХреЗрд╡рд▓ рдПрдХ рд╣реА рдмрд╛рдд рдпрд╣ рдереА рдХрд┐ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рд▓рд┐рдП рд╣рдо рдкрд░ рдЬрд╛рдирдХрд╛рд░реА рдЕрд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд░реВрдк рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХреА рдЧрдИ рдереАред рдпрд╣ рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдЯреВрд░реНрдирд╛рдореЗрдВрдЯ рдХреЗ рдкрд░рд┐рдгрд╛рдо рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкреГрд╖реНрдареЛрдВ рдкрд░ рд╣реИрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЯреВрд░реНрдирд╛рдореЗрдВрдЯ рдХреА рддрд╛рд░реАрдЦ рднреА рдЗрд╕рдХреЗ рдирд╛рдо рдХреЗ рд╕рд╛рде рдПрдХ рдЕрд▓рдЧ рдкреЗрдЬ рдкрд░ рдПрдХ рдЕрд▓рдЧ рдкреЗрдЬ рдкрд░ рд░рдЦреА рдЧрдИ рд╣реИред

рдЯреВрд░реНрдирд╛рдореЗрдВрдЯ рдХреА рд╕рднреА рд╕реВрдЪрдирд╛рдУрдВ рдХреЛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рдПрдХ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рд╕рдВрдпреЛрдЬрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдиреАрдЪреЗ рд╡рд░реНрдгрд┐рдд рдПрдХ рдкрд╛рд░реНрд╕рд░ рд▓рд┐рдЦрдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред



рдкрд╛рд░реНрд╕рд░ рдСрдкрд░реЗрд╢рди рдПрд▓реНрдЧреЛрд░рд┐рдердо



рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдкрд╛рд░реНрд╕рд░ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рд╕реЗ рдирд┐рдкрдЯреЗрдВрдЧреЗред рдпрд╣ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реЛрдЧрд╛:

  1. рдПрдХ рдЖрдзрд╛рд░ рдХреЗ рд░реВрдк рдореЗрдВ, рдЖрдЗрдП рд╕рднреА рдЯреВрд░реНрдирд╛рдореЗрдВрдЯ рдФрд░ рдЙрдирдХреА рддрд╛рд░реАрдЦреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рддрд╛рд▓рд┐рдХрд╛ рд▓реЗрдВ, рдЬреЛ рдХрд┐ рд╕реНрдерд┐рдд рд╣реИ

    рдЗрд╕ рдкрд░

    рдкрддрд╛
  2. рд╣рдо рдЗрд╕ рдкреГрд╖реНрда рд╕реЗ рдбреЗрдЯрд╛ рдХреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЙрд▓рдо рдХреЗ рд╕рд╛рде рдбреЗрдЯрд╛ рд╕реЗрдЯ рдореЗрдВ рджрд░реНрдЬ рдХрд░реЗрдВрдЧреЗ:
  3. рдЯреВрд░реНрдирд╛рдореЗрдВрдЯ
  4. рд╡рд░реНрдгрди рд▓рд┐рдВрдХ
  5. рддрд┐рдерд┐
  6. рдкреНрд░рддреНрдпреЗрдХ рд╕реЗрдЯ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ (рдкреНрд░рддреНрдпреЗрдХ рдЯреВрд░реНрдирд╛рдореЗрдВрдЯ рдХреЗ рд▓рд┐рдП) рд╣рдо рдкреВрд░реЗ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдПрдХ рдкрд░рд┐рд╡рд░реНрддрди рдХрд░рддреЗ рд╣реИрдВ

    [рд╡рд┐рд╡рд░рдг рдХреЗ рд▓рд┐рдП рд▓рд┐рдВрдХ] , рд▓рдбрд╝рд╛рдИ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП
  7. рд╣рдо рдЯреВрд░реНрдирд╛рдореЗрдВрдЯ рдХреА рд╕рднреА рд▓рдбрд╝рд╛рдЗрдпреЛрдВ рдХреА рдЬрд╛рдирдХрд╛рд░реА рджрд░реНрдЬ рдХрд░рддреЗ рд╣реИрдВ
  8. рд╣рдо рдЬрд┐рди рд╕реНрдкрд░реНрдзрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЯреВрд░реНрдирд╛рдореЗрдВрдЯ рдХреА рддрд╛рд░реАрдЦ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ, рдЙрдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд╕рд╛рде рдбреЗрдЯрд╛ рд╕реЗрдЯ рдореЗрдВ

    рд╕реЗрдЯ (2)


рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рддреИрдпрд╛рд░ рд╣реИ рдФрд░ рдЖрдк рдЗрд╕рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд▓рд┐рдП рдЖрдЧреЗ рдмрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ



рд╢реБрд░реБрдЖрдд lxml рд╕реЗ рд╣реЛ рд░рд╣реА рд╣реИ



рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ lxml рдФрд░ рдкрд╛рдВрдбрд╛ рдореЙрдбреНрдпреВрд▓ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЙрдиреНрд╣реЗрдВ рд╣рдорд╛рд░реЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЗрдВ рдЕрдкрд▓реЛрдб рдХрд░реЗрдВ:



import lxml.html as html from pandas import DataFrame
      
      





рдЖрдЧреЗ рдкрд╛рд░реНрд╕рд┐рдВрдЧ рдХреА рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП, рд╣рдо рдореБрдЦреНрдп рдбреЛрдореЗрди рдХреЛ рдПрдХ рдЕрд▓рдЧ рдЪрд░ рдореЗрдВ рд░рдЦреЗрдВрдЧреЗ:



 main_domain_stat = 'http://hosteddb.fightmetric.com'
      
      





рдЕрдм рд╣рдореЗрдВ рдкрд╛рд░реНрд╕рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдПрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рдорд┐рд▓рддрд╛ рд╣реИред рдЖрдк рдкрд╛рд░реНрд╕ () рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдРрд╕рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:



 page = html.parse('%s/events/index/date/desc/1/all' % (main_domain_stat))
      
      





рдЕрдм HTML рдПрдбрд┐рдЯрд░ рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рддрд╛рд▓рд┐рдХрд╛ рдЦреЛрд▓реЗрдВ рдФрд░ рдЗрд╕рдХреА рд╕рдВрд░рдЪрдирд╛ рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░реЗрдВред рдХреНтАНрдпреЛрдВрдХрд┐ рд╣рдореЗрдВ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд░реВрдЪрд┐ events_table data_table row_is_link



, рдХреНтАНрдпреЛрдВрдХрд┐ events_table data_table row_is_link



рд╕рд╛рде рдмреНрд▓реЙрдХ рд╣реЛрддрд╛ events_table data_table row_is_link



, рдХреНтАНрдпреЛрдВрдХрд┐ рдЗрд╕рдореЗрдВ рд╣рдорд╛рд░реЗ рджреНрд╡рд╛рд░рд╛ рдЖрд╡рд╢реНрдпрдХ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рддрд╛рд▓рд┐рдХрд╛ рд╣реИред рдЖрдк рдЗрд╕ рдмреНрд▓реЙрдХ рдХреЛ рдЗрд╕ рддрд░рд╣ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:



 e = page.getroot().\ find_class('events_table data_table row_is_link').\ pop()
      
      





рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдХреЛрдб рдХреНрдпрд╛ рдХрд░рддрд╛ рд╣реИред

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, getroot () рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рд╣рдо рдЕрдкрдиреЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХрд╛ рдореВрд▓ рддрддреНрд╡ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ (рдпрд╣ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЗ рд╕рд╛рде рдмрд╛рдж рдХреЗ рдХрд╛рдо рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИ)ред

рдЕрдЧрд▓рд╛, find_class () рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рд╣рдо рд╕рднреА рддрддреНрд╡реЛрдВ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╡рд░реНрдЧреЛрдВ рдХреЗ рд╕рд╛рде рдкрд╛рддреЗ рд╣реИрдВред рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рд╣рдореЗрдВ рдРрд╕реЗ рддрддреНрд╡реЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рдорд┐рд▓рддреА рд╣реИред рдХреНрдпреЛрдВрдХрд┐ рдкреГрд╖реНрда рдХреЗ HTML рдХреЛрдб рдХреЗ рджреГрд╢реНрдп рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рдмрд╛рдж, рдпрд╣ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рдорд╛рдирджрдВрдб рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдХреЗрд╡рд▓ рдПрдХ рддрддреНрд╡ рдЙрдкрдпреБрдХреНрдд рд╣реИ, рдлрд┐рд░ рд╣рдо рдЗрд╕реЗ рдкреЙрдк () рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реВрдЪреА рд╕реЗ рдирд┐рдХрд╛рд▓рддреЗ рд╣реИрдВред

рдЕрдм рд╣рдореЗрдВ рдЕрдкрдиреЗ div рд╕реЗ рдкреНрд░рд╛рдкреНрдд рддрд╛рд▓рд┐рдХрд╛ рдХреЛ рдкрд╣рд▓реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо getchildren () рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдЬреЛ рд╡рд░реНрддрдорд╛рди рддрддреНрд╡ рдХреА рд░реЗрдЦрд╛рдВрдХрд┐рдд рд╡рд╕реНрддреБрдУрдВ рдХреА рдПрдХ рд╕реВрдЪреА рджреЗрддрд╛ рд╣реИред рдФрд░

рдХреНрдпреЛрдВрдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХреЗрд╡рд▓ рдПрдХ рд╣реА рд╡рд╕реНрддреБ рд╣реИ, рд╣рдо рдЗрд╕реЗ рд╕реВрдЪреА рд╕реЗ рдирд┐рдХрд╛рд▓рддреЗ рд╣реИрдВред



 t = e.getchildren().pop()
      
      





рдЕрдм рдЪрд░ рдЯреА рдореЗрдВ рдПрдХ рддрд╛рд▓рд┐рдХрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╣рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рдЬрд╛рдирдХрд╛рд░реА рд╣реИред рдЕрдм, рдореБрдЭреЗ 2 рд╕рд╣рд╛рдпрдХ рдбреЗрдЯрд╛рдлрд╝реНрд░реЗрдо рдкреНрд░рд╛рдкреНрдд рд╣реЛрдВрдЧреЗ, рдЬрд┐рдиреНрд╣реЗрдВ рдорд┐рд▓рд╛рдХрд░, рд╣рдо рдЯреВрд░реНрдирд╛рдореЗрдВрдЯ рдХреА рддрд╛рд░реАрдЦреЛрдВ рдФрд░ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЗ рд▓рд┐рдВрдХ рдХреЗ рд╕рд╛рде рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВрдЧреЗред

рдкрд╣рд▓реЗ рд╕реЗрдЯ рдореЗрдВ рдореИрдВ рдЯреВрд░реНрдирд╛рдореЗрдВрдЯ рдХреЗ рд╕рднреА рдирд╛рдо рдФрд░ рд╕рд╛рдЗрдЯ рдкрд░ рдЙрдирдХреЗ рдкреГрд╖реНрдареЛрдВ рдХреЗ рд▓рд┐рдВрдХ рд╢рд╛рдорд┐рд▓ рдХрд░реВрдВрдЧрд╛ред рдпрд╣ рдЖрд╕рд╛рдиреА рд╕реЗ iterlinks () iterator рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдЯреИрдЧ (, ,

, )




) рдХреА рдПрдХ рд╕реВрдЪреА рджреЗрддрд╛ рд╣реИ (, ,

, )




(, ,

, )




рдЧрдП рддрддреНрд╡ рдХреЗ рдЕрдВрджрд░ (, ,

, )




ред рджрд░рдЕрд╕рд▓, рдЗрд╕ рдЯрдкрд▓ рд╕реЗ, рд╣рдореЗрдВ рд▓рд┐рдВрдХ рдФрд░ рдЙрд╕рдХреЗ рдкрд╛рда рдХрд╛ рдкрддрд╛ рдЪрд╛рд╣рд┐рдПред

рд╕рдВрдмрдВрдзрд┐рдд рддрддреНрд╡ рдХреЗ .text рдЧреБрдг рддрдХ рдкрд╣реБрдБрдЪ рдХрд░ рдПрдХ рд▓рд┐рдВрдХ рдкрд░реАрдХреНрд╖рдг рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдХреЛрдб рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реЛрдЧрд╛:



 events_tabl = DataFrame([{'EVENT':i[0].text, 'LINK':i[2]} for i in t.iterlinks()][5:])
      
      





рдПрдХ рдЪреМрдХрд╕ рдкрд╛рдардХ рдзреНрдпрд╛рди рджреЗрдЧрд╛ рдХрд┐ рдЪрдХреНрд░ рдореЗрдВ рд╣рдо рдкрд╣рд▓реЗ 5 рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпреЛрдВ рдХреЛ рдмрд╛рд╣рд░ рдХрд░рддреЗ рд╣реИрдВред рдЙрдирдореЗрдВ рдРрд╕реА рдЬрд╛рдирдХрд╛рд░реА рд╣реИ рдЬрд┐рд╕рдХреА рд╣рдореЗрдВ рдЬрд╝рд░реВрд░рдд рдирд╣реАрдВ рд╣реИ, рдЬреИрд╕реЗ рдХрд┐ рдлреАрд▓реНрдб рд╣реЗрдбрд░, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдЙрдирд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛ рд▓рд┐рдпрд╛ред

рдЗрд╕рд▓рд┐рдП, рд╣рдореЗрдВ рд▓рд┐рдВрдХ рдорд┐рд▓ рдЧрдП рд╣реИрдВред рдЕрдм рд╣рдореЗрдВ рдЯреВрд░реНрдирд╛рдореЗрдВрдЯ рдХреА рддрд╛рд░реАрдЦреЛрдВ рдХреЗ рд╕рд╛рде рдбреЗрдЯрд╛ рдХреЗ 2 рд╕рдмрд╕реЗрдЯ рдорд┐рд▓рддреЗ рд╣реИрдВред рдЗрд╕реЗ рдЗрд╕ рддрд░рд╣ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:



 event_date = DataFrame([{'EVENT': evt.getchildren()[0].text_content(), 'DATE':evt.getchildren()[1].text_content()} for evt in t][2:])
      
      





рдКрдкрд░ рджрд┐рдЦрд╛рдП рдЧрдП рдХреЛрдб рдореЗрдВ, рд╣рдо рдЯреЗрдмрд▓ рдЯреА рдореЗрдВ рд╕рднреА рд▓рд╛рдЗрдиреЛрдВ ( рдЯреНрд░ рдЯреИрдЧ) рд╕реЗ рдЧреБрдЬрд░рддреЗ рд╣реИрдВред рдлрд┐рд░ рдкреНрд░рддреНрдпреЗрдХ рдкрдВрдХреНрддрд┐ рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ рдЪрд╛рдЗрд▓реНрдб рдХреЙрд▓рдо ( td рддрддреНрд╡реЛрдВ) рдХреА рдПрдХ рд╕реВрдЪреА рдорд┐рд▓рддреА рд╣реИред рдФрд░ рд╣рдореЗрдВ рдкрд╣рд▓реЗ рдФрд░ рджреВрд╕рд░реЗ рдХреЙрд▓рдо рдореЗрдВ рджрд░реНрдЬ рдХреА рдЧрдИ рдЬрд╛рдирдХрд╛рд░реА рдХреЛ text_content рдкрджреНрдзрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рджрд░реНрдЬ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдЗрд╕ рдХреЙрд▓рдо рдХреЗ рд╕рднреА рдмрдЪреНрдЪреЛрдВ рдХреЗ рдкрд╛рда рд╕реЗ рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд▓реМрдЯрд╛рддрд╛ рд╣реИред

рдпрд╣ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ text_content рд╡рд┐рдзрд┐ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддреА рд╣реИ, рд╣рдо рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛ рдЙрджрд╛рд╣рд░рдг рджреЗрддреЗ рд╣реИрдВред рдорд╛рди рд▓реЗрдВ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЗрд╕ рддрд░рд╣ рдХреА рдПрдХ рджрд╕реНрддрд╛рд╡реЗрдЬ рд╕рдВрд░рдЪрдирд╛ рд╣реИ <tr> <td> <span> рдкрд╛рда </ span> <span> рдкрд╛рда </ span> ред рддреЛ, text_content рд╡рд┐рдзрд┐ рдкрд╛рда рдХреЛ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдкрд╛рда рд▓реМрдЯрд╛рдПрдЧреА , рдФрд░ рдкрд╛рда рд╡рд┐рдзрд┐ рдХреБрдЫ рднреА, рдпрд╛ рдХреЗрд╡рд▓ рдкрд╛рда рд╡рд╛рдкрд╕ рдирд╣реАрдВ рдХрд░реЗрдЧреАред



рдЕрдм рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдбреЗрдЯрд╛ рдХреЗ 2 рд╕рдмрд╕реЗрдЯ рд╣реИрдВ, рдЙрдиреНрд╣реЗрдВ рдЕрдВрддрд┐рдо рд╕реЗрдЯ рдореЗрдВ рд╕рдВрдпреЛрдЬрд┐рдд рдХрд░реЗрдВ:



 sum_event_link = events_tabl.set_index('EVENT').join(event_date.set_index('EVENT')).reset_index()
      
      





рдпрд╣рд╛рдВ, рд╣рдо рдкрд╣рд▓реЗ рдЕрдкрдиреЗ рд╕реЗрдЯ рдХреЗ рд╕реВрдЪрдХрд╛рдВрдХ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВ, рдлрд┐рд░ рдЙрдиреНрд╣реЗрдВ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ рдФрд░ рдЕрдВрддрд┐рдо рд╕реЗрдЯ рдХреЗ рд╕реВрдЪрдХ рдХреЛ рд░реАрд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВред рдЖрдк рдореЗрд░реЗ рдкрд┐рдЫрд▓реЗ рд▓реЗрдЦреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдореЗрдВ рдЗрди рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рдкреНрд░рд╛рдкреНрдд рдбреЗрдЯрд╛рдлрд╝реНрд░реЗрдо рдХреЛ рдПрдХ рдЯреЗрдХреНрд╕реНрдЯ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЕрдирд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд░рд╣рддрд╛ рд╣реИ, рд╕реБрд░рдХреНрд╖рд╛ рдХреЗ рд▓рд┐рдП:



 sum_event_link.to_csv('..\DataSets\ufc\list_ufc_events.csv',';',index=False)
      
      





UFC рд╕рд┐рдВрдЧрд▓ рдЗрд╡реЗрдВрдЯ рдЗрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░



рд╣рдордиреЗ рдПрдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдЯреВрд░реНрдирд╛рдореЗрдВрдЯ рдХреА рд╕реВрдЪреА рдХреЗ рд╕рд╛рде рдкреГрд╖реНрда рдХреЛ рдЕрдирд▓реЛрдб рдХрд┐рдпрд╛ рд╣реИред рдпрд╣ рдкреНрд░рддрд┐рдпреЛрдЧрд┐рддрд╛ рдкрд░рд┐рдгрд╛рдо рдкреГрд╖реНрдареЛрдВ рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХрд╛ рд╕рдордп рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЕрдВрддрд┐рдо рдЯреВрд░реНрдирд╛рдореЗрдВрдЯ рд▓реЗрдВ рдФрд░ рдкреГрд╖реНрда рдХреЗ рд▓рд┐рдП HTML рдХреЛрдб рджреЗрдЦреЗрдВред

рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╣рдореЗрдВ рдЬреЛ рдЬрд╛рдирдХрд╛рд░реА рдЪрд╛рд╣рд┐рдП рд╡рд╣ рдбреЗрдЯрд╛_рдмрд┐рдЬрд▓реА рд░реЛ_рдЗрд╕_рд▓рд┐рдВрдХ рд╡рд░реНрдЧ рд╡рд╛рд▓реЗ рддрддреНрд╡ рдореЗрдВ рдирд┐рд╣рд┐рдд рд╣реИред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдкрд╛рд░реНрд╕рд┐рдВрдЧ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдКрдкрд░ рджрд┐рдЦрд╛рдП рдЧрдП рдПрдХ рдХреЗ рд╕рдорд╛рди рд╣реИ, рдПрдХ рдЕрдкрд╡рд╛рдж рдХреЗ рд╕рд╛рде: рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреА рддрд╛рд▓рд┐рдХрд╛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рд╣реА рдирд╣реАрдВ рд╣реИред

рдЗрд╕рдХреА рдЕрд╕рдВрдЧрддрддрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рд╕реЗрдирд╛рдиреА рдХреЗ рд▓рд┐рдП рдЗрд╕рдореЗрдВ рдПрдХ рдЕрд▓рдЧ рд▓рд╛рдЗрди рдбрд╛рд▓реА рдЬрд╛рддреА рд╣реИ, рдЬреЛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдореЗрдВ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдирд╣реАрдВ рд╣реИред рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рддреЗ рд╕рдордп рдЗрд╕ рдЕрд╕реБрд╡рд┐рдзрд╛ рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдХреЗрд╡рд▓ рд╡рд┐рд╖рдо рд░реЗрдЦрд╛рдУрдВ рдкрд░, рдПрдХ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ред рд╕рдо рд╕рдВрдЦреНрдпрд╛ рд╡рд┐рд╖рдо рд░реЗрдЦрд╛ рд╕реЗ рдЧрдгрдирд╛ рдХреА рдЬрд╛рддреА рд╣реИред

рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдореИрдВ рдПрдХ рдмрд╛рд░ рдореЗрдВ рджреЛ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░реВрдБрдЧрд╛ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдПрдХ рдкрдВрдХреНрддрд┐ рдореЗрдВ рд▓рдкреЗрдЯреВрдВрдЧрд╛ред рдХреЛрдб рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реЛрдЧрд╛:



 all_fights = [] for i in sum_event_link.itertuples(): page_event = html.parse('%s/%s' % (main_domain_stat,active_event_link)) main_code = page_event.getroot() figth_event_tbl = main_code.find_class('data_table row_is_link').pop()[1:] for figther_num in xrange(len(figth_event_tbl)): if not figther_num % 2: all_fights.append( {'FIGHTER_WIN': figth_event_tbl[figther_num][2].text_content().lstrip().rstrip(), 'FIGHTER_LOSE': figth_event_tbl[figther_num+1][1].text_content().lstrip().rstrip(), 'METHOD': figth_event_tbl[figther_num][8].text_content().lstrip().rstrip(), 'METHOD_DESC': figth_event_tbl[figther_num+1][7].text_content().lstrip().rstrip(), 'ROUND': figth_event_tbl[figther_num][9].text_content().lstrip().rstrip(), 'TIME': figth_event_tbl[figther_num][10].text_content().lstrip().rstrip(), 'EVENT_NAME': i[1]} ) history_stat = DataFrame(all_fights)
      
      





рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдореИрдЪ рдХреЗ рд▓рд┐рдП, рдЯреВрд░реНрдирд╛рдореЗрдВрдЯ рдХрд╛ рдирд╛рдо рдЕрддрд┐рд░рд┐рдХреНрдд рд░реВрдк рд╕реЗ рджрд░реНрдЬ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдореИрдЪ рдХреА рддрд╛рд░реАрдЦ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рд╣реИред

рдЕрдм рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдкрд░рд┐рдгрд╛рдо рд╕рд╣реЗрдЬреЗрдВ:



 history_stat.to_csv('..\DataSets\ufc\list_all_fights.csv',';',index=False)
      
      





рдЖрдЗрдП рджреЗрдЦреЗрдВ рдкрд░рд┐рдгрд╛рдо:



 history_stat.head()
      
      





EVENT_NAME FIGHTER_LOSE FIGHTER_WIN рд╡рд┐рдзрд┐ METHOD_DESC ROUND рд╕рдордп
0 UFC рдлрд╛рдЗрдЯ рдирд╛рдЗрдЯ 38: рд╢реЛрдЧреБрди рдмрдирд╛рдо рд╣реЗрдВрдбрд░рд╕рди рд░реЛрдмреА рд╡рдХреАрд▓ рдЬреЙрдиреА рд╣реЗрдВрдбреНрд░рд┐рдХреНрд╕ рдпреВ рдбреАрдИрд╕реА NaN 5 рд╕реБрдмрд╣ 5 рдмрдЬреЗред
1 UFC рдлрд╛рдЗрдЯ рдирд╛рдЗрдЯ 38: рд╢реЛрдЧреБрди рдмрдирд╛рдо рд╣реЗрдВрдбрд░рд╕рди рдХрд╛рд░реНрд▓реЛрд╕ рдХреЛрдВрдбрд┐рдЯ рдЯрд╛рдпрд░реЛрди рд╡реБрдбрд▓реА KO / TKO рдШреБрдЯрдиреЗ рдореЗрдВ рдЪреЛрдЯ 2 рджреЛрдкрд╣рд░ 2 рдмрдЬреЗред
2 UFC рдлрд╛рдЗрдЯ рдирд╛рдЗрдЯ 38: рд╢реЛрдЧреБрди рдмрдирд╛рдо рд╣реЗрдВрдбрд░рд╕рди рдбрд┐рдПрдЧреЛ рд╕рд╛рдВрдЪреЗрдЬрд╝ рдорд╛рдпрд▓реНрд╕ рдЬреВрд░реА рдпреВ рдбреАрдИрд╕реА NaN 3 рд╕реБрдмрд╣ 5 рдмрдЬреЗред
3 UFC рдлрд╛рдЗрдЯ рдирд╛рдЗрдЯ 38: рд╢реЛрдЧреБрди рдмрдирд╛рдо рд╣реЗрдВрдбрд░рд╕рди рдЬреЗрдХ рд╢реАрд▓реНрдбреНрд╕ рд╣реЗрдХреНрдЯрд░ рд▓рдореНрдмрд░рджрд╛рд░ рдпреВ рдбреАрдИрд╕реА NaN 3 рд╕реБрдмрд╣ 5 рдмрдЬреЗред
4 UFC рдлрд╛рдЗрдЯ рдирд╛рдЗрдЯ 38: рд╢реЛрдЧреБрди рдмрдирд╛рдо рд╣реЗрдВрдбрд░рд╕рди рдирд┐рдХрд┐рддрд╛ рдХреНрд░рд╛рдпрд▓реЛрд╡ рдУрд╡реЗрд╕рди рд╕рдВрдд рдкреНрд░реЙрдХреНрд╕ рдЙрдк рдЕрдиреНрдп - рдЪреЛрдХ 1 1:29


рдпрд╣ рдХреЗрд╡рд▓ рд▓рдбрд╝рд╛рдИ рдХреЗ рд▓рд┐рдП рддрд╛рд░реАрдЦ рдЦреАрдВрдЪрдиреЗ рдФрд░ рдЕрдВрддрд┐рдо рдлрд╝рд╛рдЗрд▓ рдЕрдкрд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдирд╛ рд╣реБрдЖ рд╣реИ:



 all_statistics = history_stat.set_index('EVENT_NAME').join(sum_event_link.set_index('EVENT').DATE) all_statistics.to_csv('..\DataSets\ufc\statistics_ufc.csv',';', index_label='EVENT')
      
      





рдирд┐рд╖реНрдХрд░реНрд╖



рд▓реЗрдЦ рдореЗрдВ, рдореИрдВрдиреЗ XML рдФрд░ HTML рдорд╛рд░реНрдХрдЕрдк рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рдХреЗ рдЙрджреНрджреЗрд╢реНрдп рд╕реЗ, lxml рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдореВрд▓ рдмрд╛рддреЗрдВ рджрд┐рдЦрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреАред рд▓реЗрдЦ рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХреЛрдб рдЗрд╖реНрдЯрддрдо рд╣реЛрдиреЗ рдХрд╛ рджрд╛рд╡рд╛ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рд╕реМрдВрдкреЗ рдЧрдП рдХрд╛рд░реНрдп рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд░рддрд╛ рд╣реИред

рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЙрдкрд░реЛрдХреНрдд рдХрд╛рд░реНрдпрдХреНрд░рдо рд╕реЗ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛рдлреА рд╕рд░рд▓ рд╣реИ, рдЬреЛ рдЖрд╡рд╢реНрдпрдХ рдХреЛрдб рдХреЛ рдЬрд▓реНрджреА рд╕реЗ рд▓рд┐рдЦрдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИред рдЙрдкрд░реЛрдХреНрдд рдХрд╛рд░реНрдпреЛрдВ рдФрд░ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд, рдХреБрдЫ рдЕрдиреНрдп рднреА рдХрдо рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИрдВред



All Articles