рдкрд╛рдЗрдерди рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рд╕реНрддреА рдЙрдбрд╝рд╛рдиреЗрдВ рдЦреЛрдЬрдиреЗ рдореЗрдВ рд╕рд╣рд╛рдпрдХ рд╣реИ рдЬреЛ рдпрд╛рддреНрд░рд╛ рдХрд░рдирд╛ рдкрд╕рдВрдж рдХрд░рддреЗ рд╣реИрдВ

рд▓реЗрдЦ рдХреЗ рд▓реЗрдЦрдХ, рдЬрд┐рд╕рдХрд╛ рдЕрдиреБрд╡рд╛рдж рд╣рдо рдЖрдЬ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдХрд╛ рдХрд╣рдирд╛ рд╣реИ рдХрд┐ рдЙрд╕рдХрд╛ рд▓рдХреНрд╖реНрдп рдкрд╛рдЗрдерди рдореЗрдВ рд╕реЗрд▓реЗрдирд┐рдпрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рд╡реЗрдм рд╕реНрдХреНрд░реИрдкрд░ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдирд╛ рд╣реИ, рдЬреЛ рд╡рд┐рдорд╛рди рдХреА рдХреАрдорддреЛрдВ рдХреА рдЦреЛрдЬ рдХрд░рддрд╛ рд╣реИред рдЯрд┐рдХрдЯ рдХреА рдЦреЛрдЬ рдХрд░рддреЗ рд╕рдордп, рд▓рдЪреАрд▓реА рддрд┐рдерд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (+ - рдирд┐рд░реНрджрд┐рд╖реНрдЯ рддрд┐рдерд┐рдпреЛрдВ рдХреЗ рд╕рд╛рдкреЗрдХреНрд╖ 3 рджрд┐рди)ред рд╕реНрдХреНрд░реИрдкрд░ рдПрдХ рдПрдХреНрд╕реЗрд▓ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЦреЛрдЬ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ рд╕рд╣реЗрдЬрддрд╛ рд╣реИ рдФрд░ рдЙрд╕ рд╡реНрдпрдХреНрддрд┐ рдХреЛ рднреЗрдЬрддрд╛ рд╣реИ рдЬрд┐рд╕рдиреЗ рдЗрд╕реЗ рд╕рд╛рдорд╛рдиреНрдп рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд╕рд╛рде рдПрдХ рдИрдореЗрд▓ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдерд╛ рдЬреЛ рд╡рд╣ рдЦреЛрдЬрдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣рд╛ред рдЗрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рдпрд╛рддреНрд░рд┐рдпреЛрдВ рдХреЛ рд╕рд░реНрд╡реЛрддреНрддрдо рд╕реМрджреЗ рдЦреЛрдЬрдиреЗ рдореЗрдВ рдорджрдж рдХрд░рдирд╛ рд╣реИред



рдпрджрд┐ рдЖрдк, рд╕рд╛рдордЧреНрд░реА рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдорд╣рд╕реВрд╕ рдХрд░реЗрдВ рдХрд┐ рдЖрдк рдЦреЛ рдЧрдП рд╣реИрдВ - рдЗрд╕ рд▓реЗрдЦ рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВред

рд╣рдо рдХреНрдпрд╛ рджреЗрдЦ рд░рд╣реЗ рд╣реИрдВ?


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


рдореБрдЭреЗ рдЕрднреА рддрдХ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдЯреИрд░рд┐рдл рдирд╣реАрдВ рдорд┐рд▓рд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдпрд╣ рд╕рдВрднрд╡ рд╣реИ

рдЦреЛрдЬ рдХрд░рддреЗ рд╕рдордп, рдЬреИрд╕рд╛ рдХрд┐ рдкрд╣рд▓реЗ рд╣реА рдХрд╣рд╛ рдЬрд╛ рдЪреБрдХрд╛ рд╣реИ, рдПрдХ "рд▓рдЪреАрд▓реА рддрд╛рд░реАрдЦ" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рджрд┐рдП рдЧрдП рддрд┐рдерд┐рдпреЛрдВ рд╕реЗ рддреАрди рджрд┐рдиреЛрдВ рдХреЗ рднреАрддрд░ рдСрдлрд╝рд░ рдорд┐рд▓рддреЗ рд╣реИрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╢реБрд░реВ рдХрд░рддреЗ рд╕рдордп, рдпрд╣ рдХреЗрд╡рд▓ рдПрдХ рджрд┐рд╢рд╛ рдореЗрдВ рдкреНрд░рд╕реНрддрд╛рд╡реЛрдВ рдХреА рдЦреЛрдЬ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕реЗ рдкрд░рд┐рд╖реНрдХреГрдд рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИ рддрд╛рдХрд┐ рдпрд╣ рдЙрдбрд╝рд╛рдиреЛрдВ рдХреА рдХрдИ рджрд┐рд╢рд╛рдУрдВ рдореЗрдВ рдбреЗрдЯрд╛ рдПрдХрддреНрд░ рдХрд░ рд╕рдХреЗред рдЗрд╕рдХреА рдорджрдж рд╕реЗ, рдЖрдк рдЧрд▓рдд рдЯреИрд░рд┐рдл рдХреА рдЦреЛрдЬ рднреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕ рддрд░рд╣ рдХреА рдЦреЛрдЬ рдмрд╣реБрдд рджрд┐рд▓рдЪрд╕реНрдк рд╣реЛ рд╕рдХрддреА рд╣реИред

рдореБрдЭреЗ рджреВрд╕рд░реЗ рд╡реЗрдм рд╕реНрдХреНрд░реИрдкрд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ?


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

рдЖрдк рдпрд╣ рддрдп рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╕рд╛рд╣рд╕рд┐рдХ рд╣реИред рд▓реЗрдХрд┐рди рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪреЗрдВ рдХрд┐ Google рдиреЗ рд╡реЗрдм рд╕реНрдХреНрд░реИрдкрд░ рд╕реЗ рдХреИрд╕реЗ рд╢реБрд░реБрдЖрдд рдХреА, рдЬреЛ рд▓реИрд░реА рдкреЗрдЬ рдиреЗ рдЬрд╛рд╡рд╛ рдФрд░ рдкрд╛рдпрдерди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмрдирд╛рдпрд╛ рдерд╛ред Googlebots рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рд╢реЛрдз рдФрд░ рдЦреЛрдЬ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЕрдкрдиреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЙрдирдХреЗ рд╕рд╡рд╛рд▓реЛрдВ рдХреЗ рд╕рд░реНрд╡реЛрддреНрддрдо рд╕рдВрднрд╡ рдЙрддреНрддрд░ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рд╡реЗрдм рд╕реНрдХреНрд░реИрдкрд┐рдВрдЧ рдХреА рдЕрдирдВрдд рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╣реИрдВ, рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЕрдЧрд░ рдЖрдк, рдбреЗрдЯрд╛ рд╕рд╛рдЗрдВрд╕ рдХреЗ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ, рдХрд┐рд╕реА рдФрд░ рдЪреАрдЬрд╝ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ, рддреЛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдХреБрдЫ рд╕реНрдХреНрд░реИрдкрд┐рдВрдЧ рдХреМрд╢рд▓ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред

рдпрд╣рд╛рдБ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдП рдЧрдП рдХреБрдЫ рдЯреНрд░рд┐рдХреНрд╕ рдореБрдЭреЗ рд╡реЗрдм рд╕реНрдХреНрд░реИрдкрд┐рдВрдЧ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рдЕрджреНрднреБрдд рдХрд┐рддрд╛рдм рдореЗрдВ рдорд┐рд▓реЗ, рдЬрд┐рд╕реЗ рдореИрдВрдиреЗ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рд╣рд╛рд╕рд┐рд▓ рдХрд┐рдпрд╛ рд╣реИред рдЗрд╕рдореЗрдВ рдЖрдк рдЕрдзреНрдпрдпрди рдХреЗ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдкрд░ рдХрдИ рд╕рд░рд▓ рдЙрджрд╛рд╣рд░рдг рдФрд░ рд╡рд┐рдЪрд╛рд░ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, reCaptcha рдкрд░реАрдХреНрд╖рдг рдмрд╛рдИрдкрд╛рд╕ рдкрд░ рдПрдХ рдмрд╣реБрдд рд╣реА рджрд┐рд▓рдЪрд╕реНрдк рдЕрдзреНрдпрд╛рдп рд╣реИред рдореЗрд░реЗ рд▓рд┐рдП, рдпрд╣ рдЦрдмрд░ рдереА, рдХреНрдпреЛрдВрдХрд┐ рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдерд╛ рдХрд┐ рдРрд╕реА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ рдЙрдкрдХрд░рдг рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рд╕рдВрдкреВрд░реНрдг рд╕реЗрд╡рд╛рдПрдВ рднреА рдереАрдВред

рдХреНрдпрд╛ рдЖрдкрдХреЛ рдпрд╛рддреНрд░рд╛ рдХрд░рдирд╛ рдкрд╕рдВрдж рд╣реИ!


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

рдкрд╣рд▓рд╛ рдХрд╛рдо рдЬреЛ рд╣рдореЗрдВ рдПрдпрд░рд▓рд╛рдЗрди рдЯрд┐рдХрдЯреЛрдВ рдкрд░ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП рдЦреЛрдЬ рдХрд░рдиреЗ рдХреА рдПрдХ рдкреНрд░рдгрд╛рд▓реА рдмрдирд╛рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдкрд░ рд╣рд▓ рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рд╡рд╣ рдПрдХ рдЙрдкрдпреБрдХреНрдд рдордВрдЪ рдХрд╛ рдЪрдпрди рд╣реЛрдЧрд╛ рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рд╣рдо рдЬрд╛рдирдХрд╛рд░реА рд▓реЗрдВрдЧреЗред рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдореЗрд░реЗ рд▓рд┐рдП рдЖрд╕рд╛рди рдирд╣реАрдВ рдерд╛, рд▓реЗрдХрд┐рди рдЕрдВрдд рдореЗрдВ рдореИрдВрдиреЗ рдХрд╢реНрддреА рд╕реЗрд╡рд╛ рдХреЛ рдЪреБрдирд╛ред рдореИрдВрдиреЗ рдореЛрдореЗрдВрдЯреЛ, рд╕реНрдХрд╛рдИрд╕реНрдХреИрдирд░, рдПрдХреНрд╕рдкреАрдбрд┐рдпрд╛ рдФрд░ рдХреБрдЫ рдФрд░ рд╕реЗрд╡рд╛рдУрдВ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рд▓реЗрдХрд┐рди рдЗрди рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдкрд░ рд░реЛрдмреЛрдЯ рдХреЗ рдЦрд┐рд▓рд╛рдл рд╕реБрд░рдХреНрд╖рд╛ рддрдВрддреНрд░ рдЕрднреЗрджреНрдп рдереЗред рдХрдИ рдкреНрд░рдпрд╛рд╕реЛрдВ рдХреЗ рдмрд╛рдж, рдЬрд┐рд╕рдХреЗ рджреМрд░рд╛рди, рд╕рд┐рд╕реНрдЯрдо рдХреЛ рд╕рдордЭрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдореЗрдВ рдХрд┐ рдореИрдВ рдорд╛рдирд╡ рдерд╛, рдореБрдЭреЗ рдЯреНрд░реИрдлрд┐рдХ рд▓рд╛рдЗрдЯ, рдкреИрджрд▓ рдпрд╛рддреНрд░реА рдХреНрд░реЙрд╕рд┐рдВрдЧ рдФрд░ рд╕рд╛рдЗрдХрд┐рд▓ рд╕реЗ рдирд┐рдкрдЯрдирд╛ рдкрдбрд╝рд╛, рдореИрдВрдиреЗ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рдХрд┐ рдХрдпрд╛рдХ рдореБрдЭреЗ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╕реВрдЯ рдХрд░рддрд╛ рд╣реИ, рднрд▓реЗ рд╣реА рдпрд╣рд╛рдБ рднреА, рдЕрдЧрд░ рдереЛрдбрд╝реЗ рд╕рдордп рдореЗрдВ рдХрдИ рдкреЗрдЬ рд▓реЛрдб рдХрд░рддреЗ рд╣реИрдВ, рдЪреЗрдХ рднреА рд╢реБрд░реВ рд╣реЛрддреЗ рд╣реИрдВред рдореИрдВ 4 рд╕реЗ 6 рдШрдВрдЯреЗ рдХреЗ рдЕрдВрддрд░рд╛рд▓ рдкрд░ рд╕рд╛рдЗрдЯ рдкрд░ рдмреЙрдЯ рднреЗрдЬрдиреЗ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣рд╛, рдФрд░ рд╕рдм рдХреБрдЫ рдареАрдХ рд░рд╣рд╛ред рдХрд╢реНрддреА рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп рд╕рдордп-рд╕рдордп рдкрд░ рдХрдард┐рдирд╛рдЗрдпрд╛рдВ рднреА рдЖрддреА рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдЖрдк рдЪреЗрдХ рд╕реЗ рдкрд░реЗрд╢рд╛рди рд╣реЛрдирд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдпрд╛ рддреЛ рдЙрдирд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдлрд┐рд░ рдмреЙрдЯ рд╢реБрд░реВ рдХрд░реЗрдВ, рдпрд╛ рдХреБрдЫ рдШрдВрдЯреЛрдВ рддрдХ рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реЗрдВ, рдФрд░ рдЪреЗрдХ рдмрдВрдж рд╣реЛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ, рддреЛ рдЖрдк рдХрд┐рд╕реА рдЕрдиреНрдп рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдХреЗ рд▓рд┐рдП рдХреЛрдб рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдпрджрд┐ рдЖрдк рдРрд╕рд╛ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЗрд╕реЗ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рд░рд┐рдкреЛрд░реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдпрджрд┐ рдЖрдк рдЕрднреА рд╡реЗрдм рд╕реНрдХреНрд░реИрдкрд┐рдВрдЧ рд╢реБрд░реВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдФрд░ рдпрд╣ рдирд╣реАрдВ рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдХреБрдЫ рд╡реЗрдмрд╕рд╛рдЗрдЯреЗрдВ рдЗрд╕рд╕реЗ рдХреНрдпреЛрдВ рдЬреВрдЭ рд░рд╣реА рд╣реИрдВ, рддреЛ рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рдЖрдк рдЗрд╕ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдЕрдкрдирд╛ рдкрд╣рд▓рд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╢реБрд░реВ рдХрд░реЗрдВ, рдЕрдкрдиреЗ рдЖрдк рдХреЛ рдПрдХ рдПрд╣рд╕рд╛рди рдХрд░реЗрдВ рдФрд░ рд╢рдмреНрджреЛрдВ рдХреЗ рд▓рд┐рдП Google рдЦреЛрдЬреЗрдВред "рд╡реЗрдм рд╕реНрдХреНрд░реИрдкрд┐рдВрдЧ рд╢рд┐рд╖реНрдЯрд╛рдЪрд╛рд░"ред рдпрджрд┐ рдЖрдк рдЕрдирдЬрд╛рдиреЗ рдореЗрдВ рд╡реЗрдм рд╕реНрдХреНрд░реИрдкрд┐рдВрдЧ рдореЗрдВ рд▓рдЧреЗ рд╣реБрдП рд╣реИрдВ рддреЛ рдЖрдкрдХреЗ рдкреНрд░рдпреЛрдЧ рдЬрд▓реНрдж рд╣реА рд╕рдорд╛рдкреНрдд рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред

рд╢реБрд░реБрдЖрдд рд╣реЛ рд░рд╣реА рд╣реИ


рд╣рдорд╛рд░реЗ рд╡реЗрдм рд╕реНрдХреНрд░реИрдкрд░ рдХреЗ рдХреЛрдб рдореЗрдВ рдХреНрдпрд╛ рд╣реЛрдЧрд╛, рдЗрд╕рдХрд╛ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдЕрд╡рд▓реЛрдХрди рдпрд╣рд╛рдВ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:

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

рдпрд╣ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рд╕реЗрд▓реЗрдирд┐рдпрдо рдкрд░рд┐рдпреЛрдЬрдирд╛ рдПрдХ рд╡реЗрдм рдбреНрд░рд╛рдЗрд╡рд░ рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рд╣реЛрддреА рд╣реИред рдореИрдВ Chromedriver рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ , Google Chrome рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдЕрдиреНрдп рд╡рд┐рдХрд▓реНрдк рднреА рд╣реИрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ PhantomJS рдФрд░ Firefox рд▓реЛрдХрдкреНрд░рд┐рдп рд╣реИрдВред рдбреНрд░рд╛рдЗрд╡рд░ рдХреЛ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдкрдХреЛ рдЗрд╕реЗ рдЙрдкрдпреБрдХреНрдд рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд░рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЗрд╕рд╕реЗ рдЗрд╕рдХреЗ рдЙрдкрдпреЛрдЧ рдХреА рддреИрдпрд╛рд░реА рдкреВрд░реА рд╣реЛ рдЬрд╛рддреА рд╣реИред рд╣рдорд╛рд░реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреА рдкрд╣рд▓реА рдкрдВрдХреНрддрд┐рдпрд╛рдБ рдПрдХ рдирдпрд╛ Chrome рдЯреИрдм рдЦреЛрд▓рддреА рд╣реИрдВред

рдзреНрдпрд╛рди рд░рдЦреЗрдВ рдХрд┐, рдореЗрд░реА рдХрд╣рд╛рдиреА рдореЗрдВ, рдореИрдВ рдПрдпрд░рд▓рд╛рдЗрди рдЯрд┐рдХрдЯреЛрдВ рдкрд░ рд▓рд╛рднрджрд╛рдпрдХ рдСрдлрд╝рд░ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдирдП рдХреНрд╖рд┐рддрд┐рдЬ рдЦреЛрд▓рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реВрдБред рдЗрд╕ рддрд░рд╣ рдХреЗ рдСрдлрд╝рд░ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЕрдзрд┐рдХ рдЙрдиреНрдирдд рддрдХрдиреАрдХреЗрдВ рд╣реИрдВред рдореИрдВ рд╕рд┐рд░реНрдл рдЗрд╕ рд╕рд╛рдордЧреНрд░реА рдХреЗ рдкрд╛рдардХреЛрдВ рдХреЛ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рд╕рд░рд▓ рд▓реЗрдХрд┐рди рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рддрд░реАрдХрд╛ рдкреНрд░рджрд╛рди рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред

рдпрд╣рд╛рдБ рдХреЛрдб рд╣реИ рдЬрд┐рд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣рдордиреЗ рдКрдкрд░ рдмрддрд╛рдпрд╛ рд╣реИред

from time import sleep, strftime from random import randint import pandas as pd from selenium import webdriver from selenium.webdriver.common.keys import Keys import smtplib from email.mime.multipart import MIMEMultipart #      chromedriver! chromedriver_path = 'C:/{YOUR PATH HERE}/chromedriver_win32/chromedriver.exe' driver = webdriver.Chrome(executable_path=chromedriver_path) #     Chrome sleep(2) 

рдХреЛрдб рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ, рдЖрдк рд╣рдорд╛рд░реЗ рдкреВрд░реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдкреИрдХреЗрдЬ рдЖрдпрд╛рдд рдХрдорд╛рдВрдб рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, randint рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рддрд╛рдХрд┐ рдПрдХ рдирдпрд╛ рдЦреЛрдЬ рдЕрднрд┐рдпрд╛рди рд╢реБрд░реВ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдмреЙрдЯ рд╕реЛрддреЗ рд╕рдордп рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд╕реЛ рдЬрд╛рдПред рдЖрдорддреМрд░ рдкрд░ рдПрдХ рднреА рдмреЙрдЯ рдЗрд╕рдХреЗ рдмрд┐рдирд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдпрджрд┐ рдЖрдк рдЙрдкрд░реЛрдХреНрдд рдХреЛрдб рдЪрд▓рд╛рддреЗ рд╣реИрдВ, рддреЛ рдПрдХ рдХреНрд░реЛрдо рд╡рд┐рдВрдбреЛ рдЦреБрд▓реЗрдЧреА, рдЬреЛ рдмреЙрдЯ рд╕рд╛рдЗрдЯреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░реЗрдЧреАред

рдЖрдЗрдП рдереЛрдбрд╝рд╛ рдкреНрд░рдпреЛрдЧ рдХрд░реЗрдВ рдФрд░ рдПрдХ рдЕрд▓рдЧ рд╡рд┐рдВрдбреЛ рдореЗрдВ kayak.com рд╡реЗрдмрд╕рд╛рдЗрдЯ рдЦреЛрд▓реЗрдВред рдЙрд╕ рд╢рд╣рд░ рдХреЛ рдЪреБрдиреЗрдВ, рдЬрд╣рд╛рдВ рд╕реЗ рд╣рдо рдЙрдбрд╝рд╛рди рднрд░рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ, рдФрд░ рдЬрд┐рд╕ рд╢рд╣рд░ рдореЗрдВ рд╣рдо рдЬрд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рд╕рд╛рде рд╣реА рдЙрдбрд╝рд╛рдиреЛрдВ рдХреА рддрд╛рд░реАрдЦреЗрдВ рднреАред рддрд┐рдерд┐рдпрд╛рдВ рдЪреБрдирддреЗ рд╕рдордп, рд╣рдо рдпрд╣ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░реЗрдВрдЧреЗ рдХрд┐ рд╕реАрдорд╛ + -3 рджрд┐рди рд╣реИред рдореИрдВрдиреЗ рдХреЛрдб рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП рд▓рд┐рдЦрд╛ рдХрд┐ рд╕рд╛рдЗрдЯ рдЗрд╕ рддрд░рд╣ рдХреЗ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рдЬрд╡рд╛рдм рдореЗрдВ рдХреНрдпрд╛ рдкреИрджрд╛ рдХрд░рддреА рд╣реИред рдпрджрд┐, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдХреЗрд╡рд▓ рджреА рдЧрдИ рддрд╛рд░реАрдЦреЛрдВ рдХреЗ рд▓рд┐рдП рдЯрд┐рдХрдЯ рдЦреЛрдЬрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдЕрддреНрдпрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдмреЙрдЯ рдХреЛрдб рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдХреЛрдб рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рддреЗ рд╣реБрдП, рдореИрдВ рдЙрдЪрд┐рдд рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рджреЗрддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдЖрдкрдХреЛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рднреНрд░рдорд┐рдд рд╣реИрдВ - рдореБрдЭреЗ рдмрддрд╛рдПрдВред

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


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

XPath рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдПрдХ рдкреГрд╖реНрда рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛


рдЗрд╕рд▓рд┐рдП, рд╣рдордиреЗ рдЦрд┐рдбрд╝рдХреА рдЦреЛрд▓реА рдФрд░ рд╕рд╛рдЗрдЯ рд▓реЛрдб рдХреАред рдореВрд▓реНрдп рдирд┐рд░реНрдзрд╛рд░рдг рдФрд░ рдЕрдиреНрдп рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ XPath рддрдХрдиреАрдХ рдпрд╛ CSS рдЪрдпрдирдХрд░реНрддрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдореИрдВрдиреЗ XPath рдкрд░ рд░рд╣рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рдФрд░ рд╕реАрдПрд╕рдПрд╕ рдЪрдпрдирдХрд░реНрддрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдорд╣рд╕реВрд╕ рдирд╣реАрдВ рдХреА, рд▓реЗрдХрд┐рди рдЗрд╕ рддрд░рд╣ рдХрд╛рдо рдХрд░рдирд╛ рдХрд╛рдлреА рд╕рдВрднрд╡ рд╣реИред XPath рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдПрдХ рдкреГрд╖реНрда рдХреЗ рдЪрд╛рд░реЛрдВ рдУрд░ рдШреВрдордирд╛ рдПрдХ рдХрдард┐рди рдХрд╛рдо рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЕрдЧрд░ рдЖрдк рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рд╡рд┐рдзрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдЬреЛ рдкреЗрдЬ рдХреЛрдб рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛рдУрдВ рдХреА рдирдХрд▓ рдХрд░рддреЗ рдереЗ, рддреЛ рдореБрдЭреЗ рдПрд╣рд╕рд╛рд╕ рд╣реБрдЖ рдХрд┐ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИ рдЖрд╡рд╢реНрдпрдХ рддрддреНрд╡ред рд╡реИрд╕реЗ, рдЗрд╕ рдкреБрд╕реНрддрдХ рдореЗрдВ рдЖрдк XPath рдФрд░ CSS рдЪрдпрдирдХрд░реНрддрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреГрд╖реНрдареЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдореВрд▓ рдмрд╛рддреЗрдВ рдХрд╛ рдПрдХ рдЙрддреНрдХреГрд╖реНрдЯ рд╡рд┐рд╡рд░рдг рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣рд╛рдБ рд╡рд╣реА рд╣реИ рдЬреЛ рд╕рдВрдмрдВрдзрд┐рдд рд╡реЗрдм рдбреНрд░рд╛рдЗрд╡рд░ рд╡рд┐рдзрд┐ рдХреА рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИред


рдЗрд╕рд▓рд┐рдП, рд╣рдо рдмреЙрдЯ рдкрд░ рдХрд╛рдо рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦрддреЗ рд╣реИрдВред рд╕рдмрд╕реЗ рд╕рд╕реНрддреА рдЯрд┐рдХрдЯреЛрдВ рдХрд╛ рдЪрдпрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдпрдХреНрд░рдо рдХрд╛ рд▓рд╛рдн рдЙрдард╛рдПрдВред рдирд┐рдореНрди рдЫрд╡рд┐ рдореЗрдВ, XPath рдЪрдпрдирдХрд░реНрддрд╛ рдХреЛрдб рдХреЛ рд▓рд╛рд▓ рд░рдВрдЧ рдореЗрдВ рд╣рд╛рдЗрд▓рд╛рдЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдХреЛрдб рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЙрд╕ рдкреГрд╖реНрда рдХреЗ рддрддреНрд╡ рдкрд░ рд░рд╛рдЗрдЯ-рдХреНрд▓рд┐рдХ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдЬрд┐рд╕рдореЗрдВ рдЖрдк рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ рдФрд░ рджрд┐рдЦрд╛рдИ рджреЗрдиреЗ рд╡рд╛рд▓реЗ рдореЗрдиреВ рдореЗрдВ рдЗрдВрд╕реНрдкреЗрдХреНрдЯ рдХрдорд╛рдВрдб рдХрд╛ рдЪрдпрди рдХрд░реЗрдВред рдЗрд╕ рдХрдорд╛рдВрдб рдХреЛ рд╡рд┐рднрд┐рдиреНрди рдкреГрд╖реНрда рддрддреНрд╡реЛрдВ рдХреЗ рд▓рд┐рдП рдмреБрд▓рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдХреЛрдб рдХреЛ рджреЗрдЦрдиреЗ рд╡рд╛рд▓реА рд╡рд┐рдВрдбреЛ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдФрд░ рд╣рд╛рдЗрд▓рд╛рдЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред


рдкреЗрдЬ рдХреЛрдб рджреЗрдЦреЗрдВ

рдХреЛрдб рд╕реЗ рдЪрдпрдирдХрд░реНрддрд╛рдУрдВ рдХреЛ рдХреЙрдкреА рдХрд░рдиреЗ рдХреЗ рдиреБрдХрд╕рд╛рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореЗрд░реЗ рддрд░реНрдХ рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдкрд░ рдзреНрдпрд╛рди рджреЗрдВред

рдХреЛрдб рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рддреЗ рд╕рдордп рдЖрдкрдХреЛ рдпрд╣рд╛рдВ рдХреНрдпрд╛ рдорд┐рд▓реЗрдЧрд╛:

 //*[@id="wtKI-price_aTab"]/div[1]/div/div/div[1]/div/span/span 

рдХреБрдЫ рдЗрд╕реА рддрд░рд╣ рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЙрд╕ рдХреЛрдб рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдкрд░ рд░рд╛рдЗрдЯ-рдХреНрд▓рд┐рдХ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдЬреЛ рдЖрдкрдХреА рд░реБрдЪрд┐ рд░рдЦрддрд╛ рд╣реИ рдФрд░ рджрд┐рдЦрд╛рдИ рджреЗрдиреЗ рд╡рд╛рд▓реЗ рдореЗрдиреВ рд╕реЗ рдХреЙрдкреА> рдХреЙрдкреА XPath рдХреЙрдкреА рдХрд░реЗрдВред

рдпрд╣рд╛рдБ рдореИрдВ рд╕рдмрд╕реЗ рд╕рд╕реНрддрд╛ рдмрдЯрди рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:

 cheap_results = '//a[@data-code = "price"]' 


рдХреЙрдкреА> XPath рдХрдорд╛рдВрдб рдХреЙрдкреА рдХрд░реЗрдВ

рдпрд╣ рдХрд╛рдлреА рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рджреВрд╕рд░рд╛ рд╡рд┐рдХрд▓реНрдк рдмрд╣реБрдд рд╕рд░рд▓ рджрд┐рдЦрддрд╛ рд╣реИред рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп, рдпрд╣ рддрддреНрд╡ рдП рдХреА рдЦреЛрдЬ рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ price рдмрд░рд╛рдмрд░ data-code рд╡рд┐рд╢реЗрд╖рддрд╛ price ред рдкрд╣рд▓реЗ рд╡рд┐рдХрд▓реНрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рдПрдХ id рддрддреНрд╡ рдЦреЛрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП wtKI-price_aTab , рдФрд░ рддрддреНрд╡ рдХреЗ рд▓рд┐рдП XPath рдкрде /div[1]/div/div/div[1]/div/span/span рдХреА рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИред рдПрдХ рдкреЗрдЬ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдорд╛рди XPath рдЕрдиреБрд░реЛрдз рдЪрд╛рд▓ рдХрд░реЗрдЧрд╛, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рдПрдХ рдмрд╛рд░ред рдореИрдВ рдЕрднреА рдХрд╣ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдЕрдЧрд▓реА рдмрд╛рд░ рдкреЗрдЬ рд▓реЛрдб рд╣реЛрдиреЗ рдкрд░ id рдмрджрд▓ рдЬрд╛рдПрдЧреАред wtKI рд╡рд░реНрдг wtKI рд╣рд░ рдмрд╛рд░ рдкреГрд╖реНрда рд▓реЛрдб рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ рдмрджрд▓рддрд╛ рд╣реИ, рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдЬрд┐рд╕ рдХреЛрдб рдореЗрдВ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рд╡рд╣ рдЕрдЧрд▓реЗ рдкреГрд╖реНрда рдкреБрдирдГ рд▓реЛрдб рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рдмреЗрдХрд╛рд░ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред рддреЛ XPath рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╕рдордп рд▓реЗрдВред рдпрд╣ рдЬреНрдЮрд╛рди рдЖрдкрдХреА рдЕрдЪреНрдЫреА рд╕реЗрд╡рд╛ рдХрд░реЗрдЧрд╛ред

рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╣ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдХрд╛рдлреА рд╕рд░рд▓ рд╕рд╛рдЗрдЯреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп XPath рдЪрдпрдирдХрд░реНрддрд╛рдУрдВ рдХреА рдирдХрд▓ рдХрд░рдирд╛ рдХрд╛рдо рдореЗрдВ рдЖ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдпрджрд┐ рдпрд╣ рдЖрдкрдХреЛ рд╕реВрдЯ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдЗрд╕рдХреЗ рд╕рд╛рде рдХреБрдЫ рднреА рдЧрд▓рдд рдирд╣реАрдВ рд╣реИред

рдЕрдм рдЖрдЗрдП рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪреЗрдВ рдХрд┐ рдпрджрд┐ рдЖрдкрдХреЛ рд╕реВрдЪреА рдХреЗ рдЕрдВрджрд░ рдХрдИ рдЦреЛрдЬ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдХреНрдпрд╛ рдХрд░реЗрдВред рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рдкрд░рд┐рдгрд╛рдо resultWrapper рд╡рд░реНрдЧ рдХреЗ рд╕рд╛рде рдПрдХ рд╡рд╕реНрддреБ рдХреЗ рдЕрдВрджрд░ рд╣реЛрддрд╛ рд╣реИред рд╕рднреА рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдирд╛ рдПрдХ рд▓реВрдк рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдиреАрдЪреЗ рджрд┐рдЦрд╛рдП рдЧрдП рдЬреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИред

рдпрд╣ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдпрджрд┐ рдЖрдк рдЙрдкрд░реЛрдХреНрдд рд╕рдордЭрддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдЖрд╕рд╛рдиреА рд╕реЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рдХреЛрдб рдХреЛ рд╕рдордЭрдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреЛ рд╣рдо рдкрд╛рд░реНрд╕ рдХрд░реЗрдВрдЧреЗред рдЗрд╕ рдХреЛрдб рдХреЗ рдХрд╛рдо рдХреЗ рджреМрд░рд╛рди, рд╣рдо рдЙрд╕ рдЪреАрдЬрд╝ рдХреА рдУрд░ рдореБрдбрд╝рддреЗ рд╣реИрдВ рдЬрд┐рд╕рдХреА рд╣рдореЗрдВ рдЬрд╝рд░реВрд░рдд рд╣реИ (рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдпрд╣ рд╡рд╣ рддрддреНрд╡ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдкрд░рд┐рдгрд╛рдо рд▓рд┐рдкрдЯрд╛ рд╣реБрдЖ рд╣реИ) рдкрде (XPath) рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рддрдВрддреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИред рдпрд╣ рддрддреНрд╡ рдХрд╛ рдкрд╛рда рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдФрд░ рдЗрд╕реЗ рдЙрд╕ рд╡рд╕реНрддреБ рдореЗрдВ рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд╣рд╛рдВ рд╕реЗ рдбреЗрдЯрд╛ рдкрдврд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (рдкрд╣рд▓реЗ flight_containers , рдлрд┐рд░ flights_list )ред


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

рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП!


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

 #      ,      def load_more():   try:       more_results = '//a[@class = "moreButton"]'       driver.find_element_by_xpath(more_results).click()       #            ,          print('sleeping.....')       sleep(randint(45,60))   except:       pass 

рдЕрдм, рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд▓рдВрдмреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рдмрд╛рдж (рдХрднреА-рдХрднреА рдореБрдЭреЗ рджреВрд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ), рд╣рдо рдПрдХ рдРрд╕реЗ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдШреЛрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИрдВ рдЬреЛ рд╕реНрдХреНрд░реИрдкрд┐рдВрдЧ рд╕реЗ рдирд┐рдкрдЯреЗрдВрдЧреЗред

рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рд╣реА рд╕рдВрдЧреНрд░рд╣ рдХрд░ рд▓рд┐рдпрд╛ рд╣реИ рдЬреЛ рдЕрдЧрд▓реЗ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдЬрд┐рд╕реЗ page_scrape рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдХрднреА-рдХрднреА рдкрде рдХреЗ рдЪрд░рдгреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рджрд┐рдП рдЧрдП рдбреЗрдЯрд╛ рд╕рдВрдпреБрдХреНрдд рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ, рдЙрдирдХреЗ рдкреГрдердХреНрдХрд░рдг рдХреЗ рд▓рд┐рдП рдореИрдВ рдПрдХ рд╕рд░рд▓ рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкрд╣рд▓реА рдмрд╛рд░ рдореИрдВ рдЪрд░ section_a_list рдФрд░ section_b_list рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВред рд╣рдорд╛рд░рд╛ рдлрд╝рдВрдХреНрд╢рди рдбреЗрдЯрд╛ рдлрд╝реНрд░реЗрдо flights_df , рдпрд╣ рд╣рдореЗрдВ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдбреЗрдЯрд╛ рд╕реЙрд░реНрдЯрд┐рдВрдЧ рд╡рд┐рдзрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд░рд╛рдкреНрдд рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ рдЕрд▓рдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдФрд░ рдмрд╛рдж рдореЗрдВ рдЙрдиреНрд╣реЗрдВ рд╕рдВрдпреЛрдЬрд┐рдд рдХрд░рддрд╛ рд╣реИред

 def page_scrape():   """This function takes care of the scraping part"""     xp_sections = '//*[@class="section duration"]'   sections = driver.find_elements_by_xpath(xp_sections)   sections_list = [value.text for value in sections]   section_a_list = sections_list[::2] #          section_b_list = sections_list[1::2]     #     reCaptcha,    - .   #  ,  -   ,     ,       #   if        -   #    ,           #    SystemExit           if section_a_list == []:       raise SystemExit     #     A     B     a_duration = []   a_section_names = []   for n in section_a_list:       #         a_section_names.append(''.join(n.split()[2:5]))       a_duration.append(''.join(n.split()[0:2]))   b_duration = []   b_section_names = []   for n in section_b_list:       #         b_section_names.append(''.join(n.split()[2:5]))       b_duration.append(''.join(n.split()[0:2]))   xp_dates = '//div[@class="section date"]'   dates = driver.find_elements_by_xpath(xp_dates)   dates_list = [value.text for value in dates]   a_date_list = dates_list[::2]   b_date_list = dates_list[1::2]   #      a_day = [value.split()[0] for value in a_date_list]   a_weekday = [value.split()[1] for value in a_date_list]   b_day = [value.split()[0] for value in b_date_list]   b_weekday = [value.split()[1] for value in b_date_list]     #     xp_prices = '//a[@class="booking-link"]/span[@class="price option-text"]'   prices = driver.find_elements_by_xpath(xp_prices)   prices_list = [price.text.replace('$','') for price in prices if price.text != '']   prices_list = list(map(int, prices_list))   # stops -   ,         ,   -     xp_stops = '//div[@class="section stops"]/div[1]'   stops = driver.find_elements_by_xpath(xp_stops)   stops_list = [stop.text[0].replace('n','0') for stop in stops]   a_stop_list = stops_list[::2]   b_stop_list = stops_list[1::2]   xp_stops_cities = '//div[@class="section stops"]/div[2]'   stops_cities = driver.find_elements_by_xpath(xp_stops_cities)   stops_cities_list = [stop.text for stop in stops_cities]   a_stop_name_list = stops_cities_list[::2]   b_stop_name_list = stops_cities_list[1::2]     #   -,          xp_schedule = '//div[@class="section times"]'   schedules = driver.find_elements_by_xpath(xp_schedule)   hours_list = []   carrier_list = []   for schedule in schedules:       hours_list.append(schedule.text.split('\n')[0])       carrier_list.append(schedule.text.split('\n')[1])   #          a  b   a_hours = hours_list[::2]   a_carrier = carrier_list[1::2]   b_hours = hours_list[::2]   b_carrier = carrier_list[1::2]     cols = (['Out Day', 'Out Time', 'Out Weekday', 'Out Airline', 'Out Cities', 'Out Duration', 'Out Stops', 'Out Stop Cities',           'Return Day', 'Return Time', 'Return Weekday', 'Return Airline', 'Return Cities', 'Return Duration', 'Return Stops', 'Return Stop Cities',           'Price'])   flights_df = pd.DataFrame({'Out Day': a_day,                              'Out Weekday': a_weekday,                              'Out Duration': a_duration,                              'Out Cities': a_section_names,                              'Return Day': b_day,                              'Return Weekday': b_weekday,                              'Return Duration': b_duration,                              'Return Cities': b_section_names,                              'Out Stops': a_stop_list,                              'Out Stop Cities': a_stop_name_list,                              'Return Stops': b_stop_list,                              'Return Stop Cities': b_stop_name_list,                              'Out Time': a_hours,                              'Out Airline': a_carrier,                              'Return Time': b_hours,                              'Return Airline': b_carrier,                                                     'Price': prices_list})[cols]     flights_df['timestamp'] = strftime("%Y%m%d-%H%M") #      return flights_df 

рдореИрдВрдиреЗ рдЪрд░ рдирд╛рдо рд░рдЦрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рддрд╛рдХрд┐ рдХреЛрдб рд╕реНрдкрд╖реНрдЯ рд╣реЛ рдЬрд╛рдПред рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐ рдЪрд░ рдкрде рдХреЗ рдкрд╣рд▓реЗ рдЪрд░рдг рдХреЗ рд╕рдВрджрд░реНрдн рд╕реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ a , рдФрд░ рджреВрд╕рд░реЗ рд╕реЗ b рддрдХред рдЕрдЧрд▓реЗ рд╕рдорд╛рд░реЛрд╣ рдореЗрдВ рдЬрд╛рдПрдВред

рд╕рд╣рд╛рдпрдХ рддрдВрддреНрд░


рдЕрдм рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рдЗрди рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрддрд┐рд░рд┐рдХреНрдд рдЦреЛрдЬ рдкрд░рд┐рдгрд╛рдореЛрдВ рдФрд░ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рд▓реЛрдб рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЗрд╕ рд▓реЗрдЦ рдХреЛ рдЗрд╕ рдкрд░ рдкреВрд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпреЗ рджреЛ рдХрд╛рд░реНрдп рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рдЦреЛрд▓реЗ рдЬрд╛ рд╕рдХрдиреЗ рд╡рд╛рд▓реЗ рдкреГрд╖реНрдареЛрдВ рдХреЛ рд╕реНрдХреНрд░реИрдк рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╕рдм рдХреБрдЫ рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рд╣рдордиреЗ рдЕрднреА рддрдХ рдКрдкрд░ рдЪрд░реНрдЪрд╛ рдХреА рдЧрдИ рдХреБрдЫ рд╕рд╣рд╛рдпрдХ рддрдВрддреНрд░реЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣ рдИрдореЗрд▓ рдФрд░ рдХреБрдЫ рдЕрдиреНрдп рдЪреАрдЬреЗрдВ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдб рд╣реИред рдпрд╣ рд╕рдм start_kayak рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдЕрдм рд╣рдо рдорд╛рдирддреЗ рд╣реИрдВред

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

 def start_kayak(city_from, city_to, date_start, date_end):   """City codes - it's the IATA codes!   Date format -  YYYY-MM-DD"""     kayak = ('https://www.kayak.com/flights/' + city_from + '-' + city_to +            '/' + date_start + '-flexible/' + date_end + '-flexible?sort=bestflight_a')   driver.get(kayak)   sleep(randint(8,10))     #    ,           try   try:       xp_popup_close = '//button[contains(@id,"dialog-close") and contains(@class,"Button-No-Standard-Style close ")]'       driver.find_elements_by_xpath(xp_popup_close)[5].click()   except Exception as e:       pass   sleep(randint(60,95))   print('loading more.....')  #     load_more()     print('starting first scrape.....')   df_flights_best = page_scrape()   df_flights_best['sort'] = 'best'   sleep(randint(60,80))     #      ,        matrix = driver.find_elements_by_xpath('//*[contains(@id,"FlexMatrixCell")]')   matrix_prices = [price.text.replace('$','') for price in matrix]   matrix_prices = list(map(int, matrix_prices))   matrix_min = min(matrix_prices)   matrix_avg = sum(matrix_prices)/len(matrix_prices)     print('switching to cheapest results.....')   cheap_results = '//a[@data-code = "price"]'   driver.find_element_by_xpath(cheap_results).click()   sleep(randint(60,90))   print('loading more.....')  #     load_more()     print('starting second scrape.....')   df_flights_cheap = page_scrape()   df_flights_cheap['sort'] = 'cheap'   sleep(randint(60,80))     print('switching to quickest results.....')   quick_results = '//a[@data-code = "duration"]'   driver.find_element_by_xpath(quick_results).click()    sleep(randint(60,90))   print('loading more.....')  #     load_more()     print('starting third scrape.....')   df_flights_fast = page_scrape()   df_flights_fast['sort'] = 'fast'   sleep(randint(60,80))     #     Excel-,         final_df = df_flights_cheap.append(df_flights_best).append(df_flights_fast)   final_df.to_excel('search_backups//{}_flights_{}-{}_from_{}_to_{}.xlsx'.format(strftime("%Y%m%d-%H%M"),                                                                                  city_from, city_to,                                                                                  date_start, date_end), index=False)   print('saved df.....')     #    ,  ,  ,      xp_loading = '//div[contains(@id,"advice")]'   loading = driver.find_element_by_xpath(xp_loading).text   xp_prediction = '//span[@class="info-text"]'   prediction = driver.find_element_by_xpath(xp_prediction).text   print(loading+'\n'+prediction)     #    loading   , , ,        #    -    "Not Sure"   weird = '┬п\\_(уГД)_/┬п'   if loading == weird:       loading = 'Not sure'     username = 'YOUREMAIL@hotmail.com'   password = 'YOUR PASSWORD'   server = smtplib.SMTP('smtp.outlook.com', 587)   server.ehlo()   server.starttls()   server.login(username, password)   msg = ('Subject: Flight Scraper\n\n\ Cheapest Flight: {}\nAverage Price: {}\n\nRecommendation: {}\n\nEnd of message'.format(matrix_min, matrix_avg, (loading+'\n'+prediction)))   message = MIMEMultipart()   message['From'] = 'YOUREMAIL@hotmail.com'   message['to'] = 'YOUROTHEREMAIL@domain.com'   server.sendmail('YOUREMAIL@hotmail.com', 'YOUROTHEREMAIL@domain.com', msg)   print('sent email.....') 

рдореИрдВрдиреЗ рдПрдХ Outlook рдЦрд╛рддреЗ (hotmail.com) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ред рдореИрдВрдиреЗ рдЬреАрдореЗрд▓ рдЦрд╛рддреЗ рдХреЗ рд╕рд╣реА рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд▓рд┐рдП рдЗрд╕рдХреА рдЬрд╛рдВрдЪ рдирд╣реАрдВ рдХреА, рдпрд╣ рдореЗрд▓ рдкреНрд░рдгрд╛рд▓реА рдмрд╣реБрдд рд▓реЛрдХрдкреНрд░рд┐рдп рд╣реИ, рд▓реЗрдХрд┐рди рдмрд╣реБрдд рд╕рд╛рд░реЗ рд╕рдВрднрд╛рд╡рд┐рдд рд╡рд┐рдХрд▓реНрдк рд╣реИрдВред рдпрджрд┐ рдЖрдк рд╣реЙрдЯрдореЗрд▓ рдЦрд╛рддреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╕рдм рдХреБрдЫ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдХреЛрдб рдореЗрдВ рдЕрдкрдирд╛ рдбреЗрдЯрд╛ рджрд░реНрдЬ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред

рдпрджрд┐ рдЖрдк рдпрд╣ рд╕рдордЭрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдХреЛрдб рдХреЗ рд╡рд┐рднрд┐рдиреНрди рдЕрдиреБрднрд╛рдЧреЛрдВ рдореЗрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреНрдпрд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЖрдк рдЙрдиреНрд╣реЗрдВ рдХреЙрдкреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЙрдирдХреЗ рд╕рд╛рде рдкреНрд░рдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдХреЛрдб рдкреНрд░рдпреЛрдЧ рдЗрд╕реЗ рд╕рдордЭрдиреЗ рдХрд╛ рдПрдХрдорд╛рддреНрд░ рддрд░реАрдХрд╛ рд╣реИред

рддреИрдпрд╛рд░ рдкреНрд░рдгрд╛рд▓реА


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

 city_from = input('From which city? ') city_to = input('Where to? ') date_start = input('Search around which departure date? Please use YYYY-MM-DD format only ') date_end = input('Return when? Please use YYYY-MM-DD format only ') # city_from = 'LIS' # city_to = 'SIN' # date_start = '2019-08-21' # date_end = '2019-09-07' for n in range(0,5):   start_kayak(city_from, city_to, date_start, date_end)   print('iteration {} was complete @ {}'.format(n, strftime("%Y%m%d-%H%M")))     #  4    sleep(60*60*4)   print('sleep finished.....') 

рдпрд╣рд╛рдВ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЯреЗрд╕реНрдЯ рд░рди рд╣реИред

рдЯреЗрд╕реНрдЯ рд░рди рд╕реНрдХреНрд░рд┐рдкреНрдЯ

рдкрд░рд┐рдгрд╛рдо


рдпрджрд┐ рдЖрдк рдЗрд╕ рдмрд┐рдВрджреБ рдкрд░ рдЖрддреЗ рд╣реИрдВ - рдмрдзрд╛рдИ! рдЕрдм рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рд╡реЗрдм рд╕реНрдХреНрд░реИрдкрд░ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореИрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЗрд╕реЗ рд╕реБрдзрд╛рд░рдиреЗ рдХреЗ рдХрдИ рддрд░реАрдХреЗ рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЗрд╕реЗ рдЯреНрд╡рд┐рд▓рд┐рдпреЛ рдХреЗ рд╕рд╛рде рдПрдХреАрдХреГрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рддрд╛рдХрд┐ рдИрдореЗрд▓ рдХреЗ рдмрдЬрд╛рдп рдпрд╣ рдкрд╛рда рд╕рдВрджреЗрд╢ рднреЗрдЬреЗред рдПрдХ рд╕рд╛рде рдХрдИ рд╕рд░реНрд╡рд░реЛрдВ рд╕реЗ рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдк рд╡реАрдкреАрдПрди рдпрд╛ рдХреБрдЫ рдФрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╡рд╣ рд╡реНрдпрдХреНрддрд┐ рд╣реИ рдпрд╛ рдирд╣реАрдВ, рдЗрд╕рдХреЗ рд▓рд┐рдП рд╕рд╛рдЗрдЯ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рдЬрд╛рдБрдЪ рдХреЗ рд╕рд╛рде рдПрдХ рдЖрд╡рд░реНрддреА рд╕рдорд╕реНрдпрд╛ рднреА рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рднреА рд╣рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдХрд┐рд╕реА рднреА рдорд╛рдорд▓реЗ рдореЗрдВ, рдЕрдм рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рдЖрдзрд╛рд░ рд╣реИ рдЬрд┐рд╕реЗ рдЖрдк рдЪрд╛рд╣реЗрдВ рддреЛ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ Excel рдлрд╝рд╛рдЗрд▓ рдХрд┐рд╕реА рдИрдореЗрд▓ рдХреЗ рдЕрдиреБрд▓рдЧреНрдирдХ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рднреЗрдЬреА рдЬрд╛рддреА рд╣реИред

Source: https://habr.com/ru/post/hi451872/


All Articles