เชชเชพเชฏเชฅเซ‹เชจ - เชฎเซเชธเชพเชซเชฐเซ€ เช•เชฐเชตเชพเชจเซเช‚ เชชเชธเช‚เชฆ เช•เชฐเชคเชพ เชฒเซ‹เช•เซ‹ เชฎเชพเชŸเซ‡ เชธเชธเซเชคเซ€ เชเชฐ เชŸเชฟเช•เชฟเชŸ เชถเซ‹เชงเชตเชพเชฎเชพเช‚ เชธเชนเชพเชฏเช•

เชฒเซ‡เช–เชจเชพ เชฒเซ‡เช–เช•, เชœเซ‡เชจเซ‹ เช…เชจเซเชตเชพเชฆ เช…เชฎเซ‡ เช†เชœเซ‡ เชชเซเชฐเช•เชพเชถเชฟเชค เช•เชฐเซ€ เชฐเชนเซเชฏเชพ เช›เซ€เช, เชคเซ‡ เช•เชนเซ‡ เช›เซ‡ เช•เซ‡ เชคเซ‡เชจเซเช‚ เชฒเช•เซเชทเซเชฏ เชธเซ‡เชฒเซ‡เชจเชฟเชฏเชฎเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชชเชพเชฏเชฅเซ‹เชจเชฎเชพเช‚ เชตเซ‡เชฌ เชธเซเช•เซเชฐเซ‡เชชเชฐเชจเชพ เชตเชฟเช•เชพเชธ เชตเชฟเชถเซ‡ เชตเชพเชค เช•เชฐเชตเชพเชจเซเช‚ เช›เซ‡, เชœเซ‡ เชเชฐเชฒเชพเช‡เชจ เชŸเชฟเช•เชฟเชŸเชจเชพ เชญเชพเชตเชจเซ€ เชถเซ‹เชง เช•เชฐเซ‡ เช›เซ‡. เชŸเชฟเช•เชฟเชŸเชจเซ€ เชถเซ‹เชง เช•เชฐเชคเซ€ เชตเช–เชคเซ‡, เชฒเชตเชšเซ€เช• เชคเชพเชฐเซ€เช–เซ‹เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡ (+- เช‰เชฒเซเชฒเซ‡เช–เชฟเชค เชคเชพเชฐเซ€เช–เซ‹เชจเซ€ เชคเซเชฒเชจเชพเชฎเชพเช‚ 3 เชฆเชฟเชตเชธ). เชธเซเช•เซเชฐเซ‡เชชเชฐ เชถเซ‹เชง เชชเชฐเชฟเชฃเชพเชฎเซ‹เชจเซ‡ เชเช•เซเชธเซ‡เชฒ เชซเชพเช‡เชฒเชฎเชพเช‚ เชธเชพเชšเชตเซ‡ เช›เซ‡ เช…เชจเซ‡ เชถเซ‹เชง เชšเชฒเชพเชตเชจเชพเชฐ เชตเซเชฏเช•เซเชคเชฟเชจเซ‡ เชคเซ‡เช“ เชœเซ‡ เชฎเชณเซเชฏเซเช‚ เชคเซ‡เชจเชพ เชธเชพเชฐเชพเช‚เชถ เชธเชพเชฅเซ‡ เชˆเชฎเซ‡เชฒ เชฎเซ‹เช•เชฒเซ‡ เช›เซ‡. เช† เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเชจเซ‹ เชงเซเชฏเซ‡เชฏ เชชเซเชฐเชตเชพเชธเซ€เช“เชจเซ‡ เชถเซเชฐเซ‡เชทเซเช  เชกเซ€เชฒ เชถเซ‹เชงเชตเชพเชฎเชพเช‚ เชฎเชฆเชฆ เช•เชฐเชตเชพเชจเซ‹ เช›เซ‡.

เชชเชพเชฏเชฅเซ‹เชจ - เชฎเซเชธเชพเชซเชฐเซ€ เช•เชฐเชตเชพเชจเซเช‚ เชชเชธเช‚เชฆ เช•เชฐเชคเชพ เชฒเซ‹เช•เซ‹ เชฎเชพเชŸเซ‡ เชธเชธเซเชคเซ€ เชเชฐ เชŸเชฟเช•เชฟเชŸ เชถเซ‹เชงเชตเชพเชฎเชพเช‚ เชธเชนเชพเชฏเช•

เชœเซ‹, เชธเชพเชฎเช—เซเชฐเซ€เชจเซ‡ เชธเชฎเชœเชคเซ€ เชตเช–เชคเซ‡, เชคเชฎเซ‡ เช–เซ‹เชตเชพเชˆ เช—เชฏเชพ เช›เซ‹, เชคเซ‹ เชเช• เชจเชœเชฐ เชจเชพเช–เซ‹ เช† เชฒเซ‡เช–

เช†เชชเชฃเซ‡ เชถเซเช‚ เชœเซ‹เชตเชพ เชœเชˆ เชฐเชนเซเชฏเชพ เช›เซ€เช?

เชคเชฎเซ‡ เชคเชฎเชพเชฐเซ€ เชˆเชšเซเช›เชพ เชฎเซเชœเชฌ เช…เชนเซ€เช‚ เชตเชฐเซเชฃเชตเซ‡เชฒ เชธเชฟเชธเซเชŸเชฎเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชธเซเชตเชคเช‚เชคเซเชฐ เช›เซ‹. เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เชฎเซ‡เช‚ เชคเซ‡เชจเซ‹ เช‰เชชเชฏเซ‹เช— เชฎเชพเชฐเชพ เชตเชคเชจเชจเชพ เชธเชชเซเชคเชพเชนเชจเชพ เชชเซเชฐเชตเชพเชธเซ‹ เช…เชจเซ‡ เชŸเชฟเช•เชฟเชŸเซ‹ เชถเซ‹เชงเชตเชพ เชฎเชพเชŸเซ‡ เช•เชฐเซเชฏเซ‹ เชนเชคเซ‹. เชœเซ‹ เชคเชฎเซ‡ เชจเชซเชพเช•เชพเชฐเช• เชŸเชฟเช•เชฟเชŸเซ‹ เชถเซ‹เชงเชตเชพ เชฎเชพเชŸเซ‡ เช—เช‚เชญเซ€เชฐ เช›เซ‹, เชคเซ‹ เชคเชฎเซ‡ เชธเชฐเซเชตเชฐ เชชเชฐ เชธเซเช•เซเชฐเชฟเชชเซเชŸ เชšเชฒเชพเชตเซ€ เชถเช•เซ‹ เช›เซ‹ (เชธเชฐเชณ เชธเชฐเซเชตเชฐ, เชเช• เชฎเชนเชฟเชจเชพเชฎเชพเช‚ 130 เชฐเซเชฌเซ‡เชฒเซเชธ เชฎเชพเชŸเซ‡, เช† เชฎเชพเชŸเซ‡ เชเช•เชฆเชฎ เชฏเซ‹เช—เซเชฏ เช›เซ‡) เช…เชจเซ‡ เช–เชพเชคเชฐเซ€ เช•เชฐเซ‹ เช•เซ‡ เชคเซ‡ เชฆเชฟเชตเชธเชฎเชพเช‚ เชเช• เช•เซ‡ เชฌเซ‡ เชตเชพเชฐ เชšเชพเชฒเซ‡ เช›เซ‡. เชถเซ‹เชง เชชเชฐเชฟเชฃเชพเชฎเซ‹ เชคเชฎเชจเซ‡ เช‡เชฎเซ‡เช‡เชฒ เชฆเซเชตเชพเชฐเชพ เชฎเซ‹เช•เชฒเชตเชพเชฎเชพเช‚ เช†เชตเชถเซ‡. เชตเชงเซเชฎเชพเช‚, เชนเซเช‚ เชฌเชงเซเช‚ เชธเซ‡เชŸ เช•เชฐเชตเชพเชจเซ€ เชญเชฒเชพเชฎเชฃ เช•เชฐเซเช‚ เช›เซเช‚ เชœเซ‡เชฅเซ€ เชธเซเช•เซเชฐเชฟเชชเซเชŸ เชกเซเชฐเซ‰เชชเชฌเซ‰เช•เซเชธ เชซเซ‹เชฒเซเชกเชฐเชฎเชพเช‚ เชถเซ‹เชง เชชเชฐเชฟเชฃเชพเชฎเซ‹ เชธเชพเชฅเซ‡ เชเช•เซเชธเซ‡เชฒ เชซเชพเช‡เชฒเชจเซ‡ เชธเชพเชšเชตเซ‡, เชœเซ‡ เชคเชฎเชจเซ‡ เช—เชฎเซ‡ เชคเซเชฏเชพเช‚เชฅเซ€ เช…เชจเซ‡ เช•เซ‹เชˆเชชเชฃ เชธเชฎเชฏเซ‡ เช†เชตเซ€ เชซเชพเช‡เชฒเซ‹เชจเซ‡ เชœเซ‹เชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเชถเซ‡.

เชชเชพเชฏเชฅเซ‹เชจ - เชฎเซเชธเชพเชซเชฐเซ€ เช•เชฐเชตเชพเชจเซเช‚ เชชเชธเช‚เชฆ เช•เชฐเชคเชพ เชฒเซ‹เช•เซ‹ เชฎเชพเชŸเซ‡ เชธเชธเซเชคเซ€ เชเชฐ เชŸเชฟเช•เชฟเชŸ เชถเซ‹เชงเชตเชพเชฎเชพเช‚ เชธเชนเชพเชฏเช•
เชฎเชจเซ‡ เชนเชœเซ เชธเซเชงเซ€ เชญเซ‚เชฒเซ‹ เชธเชพเชฅเซ‡เชจเชพ เชŸเซ‡เชฐเชฟเชซ เชฎเชณเซเชฏเชพ เชจเชฅเซ€, เชชเชฐเช‚เชคเซ เชฎเชจเซ‡ เชฒเชพเช—เซ‡ เช›เซ‡ เช•เซ‡ เชคเซ‡ เชถเช•เซเชฏ เช›เซ‡

เชถเซ‹เชง เช•เชฐเชคเซ€ เชตเช–เชคเซ‡, เชชเชนเซ‡เชฒเซ‡เชฅเซ€ เชœ เช‰เชฒเซเชฒเซ‡เช– เช•เชฐเซเชฏเซ‹ เช›เซ‡ เชคเซ‡เชฎ, "เชฒเชตเชšเซ€เช• เชคเชพเชฐเซ€เช–" เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡; เชธเซเช•เซเชฐเชฟเชชเซเชŸ เช†เชชเซ‡เชฒ เชคเชพเชฐเซ€เช–เซ‹เชจเชพ เชคเซเชฐเชฃ เชฆเชฟเชตเชธเชจเซ€ เช…เช‚เชฆเชฐเชจเซ€ เช‘เชซเชฐเซเชธ เชถเซ‹เชงเซ‡ เช›เซ‡. เชœเซ‹ เช•เซ‡ เชธเซเช•เซเชฐเชฟเชชเซเชŸ เชšเชฒเชพเชตเชคเซ€ เชตเช–เชคเซ‡, เชคเซ‡ เชฎเชพเชคเซเชฐ เชเช• เชœ เชฆเชฟเชถเชพเชฎเชพเช‚ เช‘เชซเชฐเซเชธ เชถเซ‹เชงเซ‡ เช›เซ‡, เชคเซ‡เชจเซ‡ เชธเช‚เชถเซ‹เชงเชฟเชค เช•เชฐเชตเซเช‚ เชธเชฐเชณ เช›เซ‡ เชœเซ‡เชฅเซ€ เชคเซ‡ เช˜เชฃเซ€ เชซเซเชฒเชพเช‡เชŸ เชฆเชฟเชถเชพเช“ เชชเชฐ เชกเซ‡เชŸเชพ เชเช•เชคเซเชฐเชฟเชค เช•เชฐเซ€ เชถเช•เซ‡. เชคเซ‡เชจเซ€ เชธเชนเชพเชฏเชฅเซ€, เชคเชฎเซ‡ เชญเซ‚เชฒเชญเชฐเซ‡เชฒเชพ เชŸเซ‡เชฐเชฟเชซ เชชเชฃ เชถเซ‹เชงเซ€ เชถเช•เซ‹ เช›เซ‹; เช†เชตเชพ เชถเซ‹เชงเซ‹ เช–เซ‚เชฌ เชœ เชฐเชธเชชเซเชฐเชฆ เชนเซ‹เชˆ เชถเช•เซ‡ เช›เซ‡.

เชคเชฎเชพเชฐเซ‡ เชฌเซ€เชœเชพ เชตเซ‡เชฌ เชธเซเช•เซเชฐเซ‡เชชเชฐเชจเซ€ เชถเชพ เชฎเชพเชŸเซ‡ เชœเชฐเซ‚เชฐ เช›เซ‡?

เชœเซเชฏเชพเชฐเซ‡ เชฎเซ‡เช‚ เชชเซเชฐเชฅเชฎ เชตเซ‡เชฌ เชธเซเช•เซเชฐเซ‡เชชเชฟเช‚เช— เชถเชฐเซ‚ เช•เชฐเซเชฏเซเช‚, เชคเซเชฏเชพเชฐเซ‡ เชฎเชจเซ‡ เชชเซเชฐเชพเชฎเชพเชฃเชฟเช•เชชเชฃเซ‡ เชคเซ‡เชฎเชพเช‚ เช–เชพเชธ เชฐเชธ เชจเชนเซ‹เชคเซ‹. เชนเซเช‚ เช…เชจเซเชฎเชพเชจเชฟเชค เชฎเซ‹เชกเซ‡เชฒเชฟเช‚เช—, เชจเชพเชฃเชพเช•เซ€เชฏ เชตเชฟเชถเซเชฒเซ‡เชทเชฃ เช…เชจเซ‡, เชธเช‚เชญเชตเชคเชƒ, เชชเชพเช เซ‹เชจเชพ เชญเชพเชตเชจเชพเชคเซเชฎเช• เชฐเช‚เช—เชจเชพ เชตเชฟเชถเซเชฒเซ‡เชทเชฃเชจเชพ เช•เซเชทเซ‡เชคเซเชฐเชฎเชพเช‚ เชตเชงเซ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเซเชธ เช•เชฐเชตเชพ เชฎเชพเช‚เช—เชคเซ‹ เชนเชคเซ‹. เชชเชฐเช‚เชคเซ เชคเซ‡ เชฌเชนเชพเชฐ เช†เชตเซเชฏเซเช‚ เช›เซ‡ เช•เซ‡ เชตเซ‡เชฌเชธเชพเช‡เชŸเซเชธเชฎเชพเช‚เชฅเซ€ เชกเซ‡เชŸเชพ เชเช•เชคเซเชฐเชฟเชค เช•เชฐเชคเชพ เชชเซเชฐเซ‹เช—เซเชฐเชพเชฎ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชฌเชจเชพเชตเชตเซ‹ เชคเซ‡ เชถเซ‹เชงเชตเชพเชจเซเช‚ เช–เซ‚เชฌ เชœ เชฐเชธเชชเซเชฐเชฆ เชนเชคเซเช‚. เชœเซ‡เชฎ เชœเซ‡เชฎ เชนเซเช‚ เช† เชตเชฟเชทเชฏเชฎเชพเช‚ เช—เชฏเซ‹ เชคเซ‡เชฎ, เชฎเชจเซ‡ เชธเชฎเชœเชพเชฏเซเช‚ เช•เซ‡ เชตเซ‡เชฌ เชธเซเช•เซเชฐเซ‡เชชเชฟเช‚เช— เช เช‡เชจเซเชŸเชฐเชจเซ‡เชŸเชจเซเช‚ "เชเชจเซเชœเชฟเชจ" เช›เซ‡.

เชคเชฎเซ‡ เชตเชฟเชšเชพเชฐเซ€ เชถเช•เซ‹ เช›เซ‹ เช•เซ‡ เช† เช–เซ‚เชฌ เชฌเซ‹เชฒเซเชก เชจเชฟเชตเซ‡เชฆเชจ เช›เซ‡. เชชเชฐเช‚เชคเซ เชงเซเชฏเชพเชจเชฎเชพเช‚ เชฒเซ‹ เช•เซ‡ เช—เซ‚เช—เชฒเซ‡ เชตเซ‡เชฌ เชธเซเช•เซเชฐเซ‡เชชเชฐเชฅเซ€ เชถเชฐเซ‚เช†เชค เช•เชฐเซ€ เชนเชคเซ€ เชœเซ‡ เชฒเซ‡เชฐเซ€ เชชเซ‡เชœเซ‡ เชœเชพเชตเชพ เช…เชจเซ‡ เชชเชพเชฏเชฅเซ‹เชจเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชฌเชจเชพเชตเซ€ เชนเชคเซ€. เช—เซ‚เช—เชฒ เชฐเซ‹เชฌเซ‹เชŸเซเชธ เชˆเชจเซเชŸเชฐเชจเซ‡เชŸเชจเซ€ เชถเซ‹เชง เช•เชฐเซ€ เชฐเชนเซเชฏเชพ เช›เซ‡, เชคเซ‡เชจเชพ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพเช“เชจเซ‡ เชคเซ‡เชฎเชจเชพ เชชเซเชฐเชถเซเชจเซ‹เชจเชพ เชถเซเชฐเซ‡เชทเซเช  เชœเชตเชพเชฌเซ‹ เช†เชชเชตเชพเชจเซ‹ เชชเซเชฐเชฏเชพเชธ เช•เชฐเซ€ เชฐเชนเซเชฏเชพ เช›เซ‡. เชตเซ‡เชฌ เชธเซเช•เซเชฐเซ‡เชชเชฟเช‚เช—เชจเชพ เช…เชจเช‚เชค เช‰เชชเชฏเซ‹เช—เซ‹ เช›เซ‡, เช…เชจเซ‡ เชœเซ‹ เชคเชฎเชจเซ‡ เชกเซ‡เชŸเชพ เชธเชพเชฏเชจเซเชธเชฎเชพเช‚ เช•เช‚เชˆเช• เชฌเซ€เชœเซเช‚ เชฐเชธ เชนเซ‹เชฏ เชคเซ‹ เชชเชฃ, เชคเชฎเชพเชฐเซ‡ เชตเชฟเชถเซเชฒเซ‡เชทเชฃ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชœเชฐเซ‚เชฐเซ€ เชกเซ‡เชŸเชพ เชฎเซ‡เชณเชตเชตเชพ เชฎเชพเชŸเซ‡ เชคเชฎเชพเชฐเซ‡ เช•เซ‡เชŸเชฒเซ€เช• เชธเซเช•เซเชฐเซ‡เชชเชฟเช‚เช— เช•เซเชถเชณเชคเชพเชจเซ€ เชœเชฐเซ‚เชฐ เชชเชกเชถเซ‡.

เชฎเชจเซ‡ เช…เชนเซ€เช‚ เช‰เชชเชฏเซ‹เช—เชฎเชพเช‚ เชฒเซ‡เชตเชพเชคเซ€ เช•เซ‡เชŸเชฒเซ€เช• เชคเช•เชจเซ€เช•เซ‹ เช…เชฆเซเชญเซเชค เชฎเชณเซ€ เชชเซเชธเซเชคเช• เชตเซ‡เชฌ เชธเซเช•เซเชฐเซ‡เชชเชฟเช‚เช— เชตเชฟเชถเซ‡, เชœเซ‡ เชฎเซ‡เช‚ เชคเชพเชœเซ‡เชคเชฐเชฎเชพเช‚ เชฎเซ‡เชณเชตเซเชฏเซเช‚ เช›เซ‡. เชคเชฎเซ‡ เชœเซ‡ เชถเซ€เช–เซเชฏเชพ เช›เซ‹ เชคเซ‡เชจเชพ เชตเซเชฏเชตเชนเชพเชฐเชฟเช• เช‰เชชเชฏเซ‹เช— เชฎเชพเชŸเซ‡ เชคเซ‡เชฎเชพเช‚ เช˜เชฃเชพ เชธเชฐเชณ เช‰เชฆเชพเชนเชฐเชฃเซ‹ เช…เชจเซ‡ เชตเชฟเชšเชพเชฐเซ‹ เช›เซ‡. เชตเชงเซเชฎเชพเช‚, reCaptcha เชšเซ‡เช•เชจเซ‡ เชฌเชพเชฏเชชเชพเชธ เช•เชฐเชตเชพ เชชเชฐ เชเช• เช–เซ‚เชฌ เชœ เชฐเชธเชชเซเชฐเชฆ เชชเซเชฐเช•เชฐเชฃ เช›เซ‡. เช† เชฎเชพเชฐเชพ เชฎเชพเชŸเซ‡ เชธเชฎเชพเชšเชพเชฐ เชคเชฐเซ€เช•เซ‡ เช†เชตเซเชฏเซเช‚, เช•เชพเชฐเชฃ เช•เซ‡ เชฎเชจเซ‡ เช เชชเชฃ เช–เชฌเชฐ เชจ เชนเชคเซ€ เช•เซ‡ เช†เชตเซ€ เชธเชฎเชธเซเชฏเชพเช“เชจเชพ เชจเชฟเชฐเชพเช•เชฐเชฃ เชฎเชพเชŸเซ‡ เชตเชฟเชถเซ‡เชท เชธเชพเชงเชจเซ‹ เช…เชจเซ‡ เชธเช‚เชชเซ‚เชฐเซเชฃ เชธเซ‡เชตเชพเช“ เชชเชฃ เช›เซ‡.

เชถเซเช‚ เชคเชฎเชจเซ‡ เชฎเซเชธเชพเชซเชฐเซ€ เช•เชฐเชตเซ€ เช—เชฎเซ‡ เช›เซ‡ ?!

เช† เชตเชฟเชญเชพเช—เชจเชพ เชถเซ€เชฐเซเชทเช•เชฎเชพเช‚ เชชเซ‚เช›เชตเชพเชฎเชพเช‚ เช†เชตเซ‡เชฒเชพ เชธเชฐเชณ เช…เชจเซ‡ เชคเซ‡เชจเชพ เชฌเชฆเชฒเซ‡ เชนเชพเชจเชฟเช•เชพเชฐเช• เชชเซเชฐเชถเซเชจ เชฎเชพเชŸเซ‡, เชคเชฎเซ‡ เช˜เชฃเซ€เชตเชพเชฐ เชธเช•เชพเชฐเชพเชคเซเชฎเช• เชœเชตเชพเชฌ เชธเชพเช‚เชญเชณเซ€ เชถเช•เซ‹ เช›เซ‹, เชœเซ‡เชจเซ€ เชธเชพเชฅเซ‡ เชคเซ‡ เชตเซเชฏเช•เซเชคเชฟเชจเซ€ เชฎเซเชธเชพเชซเชฐเซ€เชจเซ€ เช•เซ‡เชŸเชฒเซ€เช• เชตเชพเชฐเซเชคเชพเช“ เชธเชพเชฅเซ‡, เชœเซ‡เชจเซ‡ เชคเซ‡ เชชเซ‚เช›เชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซเช‚ เชนเชคเซเช‚. เช†เชชเชฃเชพเชฎเชพเช‚เชฅเซ€ เชฎเซ‹เชŸเชพเชญเชพเช—เชจเชพ เชฒเซ‹เช•เซ‹ เชธเช‚เชฎเชค เชฅเชถเซ‡ เช•เซ‡ เชจเชตเชพ เชธเชพเช‚เชธเซเช•เซƒเชคเชฟเช• เชตเชพเชคเชพเชตเชฐเชฃเชฎเชพเช‚ เชคเชฎเชพเชฐเซ€ เชœเชพเชคเชจเซ‡ เชฒเซ€เชจ เช•เชฐเชตเชพ เช…เชจเซ‡ เชคเชฎเชพเชฐเซ€ เช•เซเชทเชฟเชคเชฟเชœเซ‹เชจเซ‡ เชตเชฟเชธเซเชคเซƒเชค เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชฎเซเชธเชพเชซเชฐเซ€ เช เชเช• เชธเชฐเชธ เชฐเซ€เชค เช›เซ‡. เชœเซ‹ เช•เซ‡, เชœเซ‹ เชคเชฎเซ‡ เช•เซ‹เชˆเชจเซ‡ เชชเซ‚เช›เซ‹ เช•เซ‡ เชถเซเช‚ เชคเซ‡เช“ เชเชฐเชฒเชพเช‡เชจ เชŸเชฟเช•เชฟเชŸ เชถเซ‹เชงเชตเชพเชจเซเช‚ เชชเชธเช‚เชฆ เช•เชฐเซ‡ เช›เซ‡, เชคเซ‹ เชฎเชจเซ‡ เช–เชพเชคเชฐเซ€ เช›เซ‡ เช•เซ‡ เชœเชตเชพเชฌ เชเชŸเชฒเซ‹ เชนเช•เชพเชฐเชพเชคเซเชฎเช• เชจเชนเซ€เช‚ เชนเซ‹เชฏ. เชตเชพเชธเซเชคเชตเชฎเชพเช‚, เชชเชพเชฏเชฅเซ‹เชจ เช…เชนเซ€เช‚ เช…เชฎเชพเชฐเซ€ เชฎเชฆเชฆ เชฎเชพเชŸเซ‡ เช†เชตเซ‡ เช›เซ‡.

เชเชฐ เชŸเชฟเช•เชฟเชŸเซ‹ เชชเชฐ เชฎเชพเชนเชฟเชคเซ€ เชถเซ‹เชงเชตเชพ เชฎเชพเชŸเซ‡ เชธเชฟเชธเซเชŸเชฎ เชฌเชจเชพเชตเชตเชพเชจเชพ เชฎเชพเชฐเซเช— เชชเชฐ เช†เชชเชฃเซ‡ เชœเซ‡ เชชเชนเซ‡เชฒเซเช‚ เช•เชพเชฐเซเชฏ เชนเชฒ เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡ เชคเซ‡ เชฏเซ‹เช—เซเชฏ เชชเซเชฒเซ‡เชŸเชซเซ‹เชฐเซเชฎ เชชเชธเช‚เชฆ เช•เชฐเชตเชพเชจเซเช‚ เช›เซ‡ เชœเซ‡เชฎเชพเช‚เชฅเซ€ เช…เชฎเซ‡ เชฎเชพเชนเชฟเชคเซ€ เชฒเชˆเชถเซเช‚. เช† เชธเชฎเชธเซเชฏเชพเชจเซ‹ เช‰เช•เซ‡เชฒ เชฎเชพเชฐเชพ เชฎเชพเชŸเซ‡ เชธเชฐเชณ เชจ เชนเชคเซ‹, เชชเชฐเช‚เชคเซ เช…เช‚เชคเซ‡ เชฎเซ‡เช‚ เช•เชพเชฏเช• เชธเซ‡เชตเชพ เชชเชธเช‚เชฆ เช•เชฐเซ€. เชฎเซ‡เช‚ เชฎเซ‹เชฎเซ‹เชจเซเชกเซ‹, เชธเซเช•เชพเชฏเชธเซเช•เซ‡เชจเชฐ, เชเช•เซเชธเชชเซ‡เชกเชฟเชฏเชพ เช…เชจเซ‡ เช…เชจเซเชฏ เช•เซ‡เชŸเชฒเชพเช•เชจเซ€ เชธเซ‡เชตเชพเช“ เช…เชœเชฎเชพเชตเซ€, เชชเชฐเช‚เชคเซ เช† เชธเช‚เชธเชพเชงเชจเซ‹ เชชเชฐ เชฐเซ‹เชฌเซ‹เชŸ เชธเช‚เชฐเช•เซเชทเชฃ เชฎเชฟเช•เซ‡เชจเชฟเชเชฎเซเชธ เช…เชญเซ‡เชฆเซเชฏ เชนเชคเชพ. เช˜เชฃเชพ เชชเซเชฐเชฏเชคเซเชจเซ‹ เชชเช›เซ€, เชœเซ‡ เชฆเชฐเชฎเชฟเชฏเชพเชจ เชฎเชพเชฐเซ‡ เชŸเซเชฐเชพเชซเชฟเช• เชฒเชพเช‡เชŸ, เชชเช—เชชเชพเชณเชพ เช•เซเชฐเซ‹เชธเชฟเช‚เช— เช…เชจเซ‡ เชธเชพเชฏเช•เชฒเชจเซ‹ เชธเชพเชฎเชจเซ‹ เช•เชฐเชตเซ‹ เชชเชกเซเชฏเซ‹ เชนเชคเซ‹, เชธเชฟเชธเซเชŸเชฎเชจเซ‡ เชธเชฎเชœเชพเชตเชตเชพเชจเซ‹ เชชเซเชฐเชฏเชพเชธ เช•เชฐเซเชฏเซ‹ เช•เซ‡ เชนเซเช‚ เชฎเชพเชจเชต เช›เซเช‚, เชฎเซ‡เช‚ เชจเช•เซเช•เซ€ เช•เชฐเซเชฏเซเช‚ เช•เซ‡ เช•เชพเชฏเช• เชฎเชพเชฐเชพ เชฎเชพเชŸเซ‡ เชธเซŒเชฅเซ€ เชฏเซ‹เช—เซเชฏ เช›เซ‡, เชคเซ‡ เชนเช•เซ€เช•เชค เชนเซ‹เชตเชพ เช›เชคเชพเช‚ เช•เซ‡ เช˜เชฃเชพ เชฌเชงเชพ เชชเซƒเชทเซเช เซ‹ เชฒเซ‹เชก เชฅเชฏเชพ เชนเซ‹เชตเชพ เช›เชคเชพเช‚. เชŸเซ‚เช‚เช• เชธเชฎเชฏเชฎเชพเช‚, เช…เชจเซ‡ เชคเชชเชพเชธ เชชเชฃ เชถเชฐเซ‚ เชฅเชพเชฏ เช›เซ‡. เชนเซเช‚ เชฌเซ‹เชŸเชจเซ‡ 4 เชฅเซ€ 6 เช•เชฒเชพเช•เชจเชพ เช…เช‚เชคเชฐเชพเชฒเชฎเชพเช‚ เชธเชพเช‡เชŸ เชชเชฐ เชตเชฟเชจเช‚เชคเซ€เช“ เชฎเซ‹เช•เชฒเชตเชพเชฎเชพเช‚ เชตเซเชฏเชตเชธเซเชฅเชพเชชเชฟเชค เชฅเชฏเซ‹, เช…เชจเซ‡ เชฌเชงเซเช‚ เชฌเชฐเชพเชฌเชฐ เช•เชพเชฎ เช•เชฐเซเชฏเซเช‚. เชธเชฎเชฏเซ‡ เชธเชฎเชฏเซ‡, เช•เชพเชฏเช• เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเชคเซ€ เชตเช–เชคเซ‡ เชฎเซเชถเซเช•เซ‡เชฒเซ€เช“ เชŠเชญเซ€ เชฅเชพเชฏ เช›เซ‡, เชชเชฐเช‚เชคเซ เชœเซ‹ เชคเซ‡เช“ เชคเชฎเชจเซ‡ เชšเซ‡เช•เชฅเซ€ เชนเซ‡เชฐเชพเชจ เช•เชฐเชตเชพเชจเซเช‚ เชถเชฐเซ‚ เช•เชฐเซ‡, เชคเซ‹ เชคเชฎเชพเชฐเซ‡ เช•เชพเช‚ เชคเซ‹ เชคเซ‡เชฎเชจเซ€ เชธเชพเชฅเซ‡ เชฎเซ‡เชจเซเชฏเซเช…เชฒเซ€ เชกเซ€เชฒ เช•เชฐเชตเชพเชจเซ€ เช…เชจเซ‡ เชชเช›เซ€ เชฌเซ‹เชŸเชจเซ‡ เชฒเซ‹เชจเซเชš เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡, เช…เชฅเชตเชพ เชฅเซ‹เชกเชพ เช•เชฒเชพเช•เซ‹ เชฐเชพเชน เชœเซเช“ เช…เชจเซ‡ เชšเซ‡เช•เซเชธ เชฌเช‚เชง เชฅเชตเชพ เชœเซ‹เชˆเช. เชœเซ‹ เชœเชฐเซ‚เชฐเซ€ เชนเซ‹เชฏ เชคเซ‹, เชคเชฎเซ‡ เชธเชฐเชณเชคเชพเชฅเซ€ เชฌเซ€เชœเชพ เชชเซเชฒเซ‡เชŸเชซเซ‹เชฐเซเชฎ เชฎเชพเชŸเซ‡ เช•เซ‹เชกเชจเซ‡ เช…เชจเซเช•เซ‚เชฒเชฟเชค เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹, เช…เชจเซ‡ เชœเซ‹ เชคเชฎเซ‡ เช†เชฎ เช•เชฐเซ‹ เช›เซ‹, เชคเซ‹ เชคเชฎเซ‡ เชŸเชฟเชชเซเชชเชฃเซ€เช“เชฎเชพเช‚ เชคเซ‡เชจเซ€ เชœเชพเชฃ เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹.

เชœเซ‹ เชคเชฎเซ‡ เชนเชฎเชฃเชพเช‚ เชœ เชตเซ‡เชฌ เชธเซเช•เซเชฐเซ‡เชชเชฟเช‚เช— เชธเชพเชฅเซ‡ เชชเซเชฐเชพเชฐเช‚เชญ เช•เชฐเซ€ เชฐเชนเซเชฏเชพเช‚ เช›เซ‹ เช…เชจเซ‡ เชคเชฎเชจเซ‡ เช–เชฌเชฐ เชจเชฅเซ€ เช•เซ‡ เช•เซ‡เชŸเชฒเซ€เช• เชตเซ‡เชฌเชธเชพเช‡เชŸเซเชธ เชคเซ‡เชจเซ€ เชธเชพเชฅเซ‡ เชถเชพ เชฎเชพเชŸเซ‡ เชธเช‚เช˜เชฐเซเชท เช•เชฐเซ‡ เช›เซ‡, เชคเซ‹ เชชเช›เซ€ เชคเชฎเซ‡ เช† เช•เซเชทเซ‡เชคเซเชฐเชฎเชพเช‚ เชคเชฎเชพเชฐเซ‹ เชชเชนเซ‡เชฒเซ‹ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เชถเชฐเซ‚ เช•เชฐเซ‹ เชคเซ‡ เชชเชนเซ‡เชฒเชพเช‚, เชคเชฎเชพเชฐเซ€ เชคเชฐเชซเซ‡เชฃ เช•เชฐเซ‹ เช…เชจเซ‡ "เชตเซ‡เชฌ เชธเซเช•เซเชฐเซ‡เชชเชฟเช‚เช— เชถเชฟเชทเซเชŸเชพเชšเชพเชฐ" เชถเชฌเซเชฆเซ‹ เชชเชฐ Google เชถเซ‹เชง เช•เชฐเซ‹. . เชœเซ‹ เชคเชฎเซ‡ เช…เชตเชฟเชšเชพเชฐเซ€ เชฐเซ€เชคเซ‡ เชตเซ‡เชฌ เชธเซเช•เซเชฐเซ‡เชชเชฟเช‚เช— เช•เชฐเซ‹ เช›เซ‹, เชคเซ‹ เชคเชฎเชพเชฐเชพ เชชเซเชฐเชฏเซ‹เช—เซ‹ เชคเชฎเชพเชฐเชพ เชตเชฟเชšเชพเชฐเซ‹ เช•เชฐเชคเชพเช‚ เชตเชนเซ‡เชฒเชพ เชธเชฎเชพเชชเซเชค เชฅเชˆ เชถเช•เซ‡ เช›เซ‡.

เชชเซเชฐเชพเชฐเช‚เชญ

เช…เชฎเชพเชฐเชพ เชตเซ‡เชฌ เชธเซเช•เซเชฐเซ‡เชชเชฐ เช•เซ‹เชกเชฎเชพเช‚ เชถเซเช‚ เชฅเชถเซ‡ เชคเซ‡เชจเซ€ เชธเชพเชฎเชพเชจเซเชฏ เชเชพเช‚เช–เซ€ เช…เชนเซ€เช‚ เช›เซ‡:

  • เชœเชฐเซ‚เชฐเซ€ เชชเซเชธเซเชคเช•เชพเชฒเชฏเซ‹ เช†เชฏเชพเชค เช•เชฐเซ‹.
  • เช—เซ‚เช—เชฒ เช•เซเชฐเซ‹เชฎ เชŸเซ‡เชฌ เช–เซ‹เชฒเซ€ เชฐเชนเซเชฏเชพ เช›เซ€เช.
  • เชเช• เชซเช‚เช•เซเชถเชจเชจเซ‡ เช•เซ‰เชฒ เช•เชฐเซ‹ เชœเซ‡ เชฌเซ‰เชŸ เชถเชฐเซ‚ เช•เชฐเซ‡ เช›เซ‡, เชคเซ‡เชจเซ‡ เชถเชนเซ‡เชฐเซ‹ เช…เชจเซ‡ เชคเชพเชฐเซ€เช–เซ‹ เชชเชธเชพเชฐ เช•เชฐเซ‡ เช›เซ‡ เชœเซ‡เชจเซ‹ เช‰เชชเชฏเซ‹เช— เชŸเชฟเช•เชฟเชŸเชจเซ€ เชถเซ‹เชง เช•เชฐเชคเซ€ เชตเช–เชคเซ‡ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเชถเซ‡.
  • เช† เช•เชพเชฐเซเชฏ เชชเซเชฐเชฅเชฎ เชถเซ‹เชง เชชเชฐเชฟเชฃเชพเชฎเซ‹ เชฒเซ‡ เช›เซ‡, เชถเซเชฐเซ‡เชทเซเช  เชฆเซเชตเชพเชฐเชพ เชธเซ‰เชฐเซเชŸ เช•เชฐเซ‡ เช›เซ‡, เช…เชจเซ‡ เชตเชงเซ เชชเชฐเชฟเชฃเชพเชฎเซ‹ เชฒเซ‹เชก เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชเช• เชฌเชŸเชจเชจเซ‡ เช•เซเชฒเชฟเช• เช•เชฐเซ‡ เช›เซ‡.
  • เช…เชจเซเชฏ เช•เชพเชฐเซเชฏ เชธเชฎเช—เซเชฐ เชชเซƒเชทเซเช เชฎเชพเช‚เชฅเซ€ เชกเซ‡เชŸเชพ เชเช•เชคเซเชฐเชฟเชค เช•เชฐเซ‡ เช›เซ‡ เช…เชจเซ‡ เชกเซ‡เชŸเชพ เชซเซเชฐเซ‡เชฎ เชชเชฐเชค เช•เชฐเซ‡ เช›เซ‡.
  • เช…เช—เชพเช‰เชจเชพ เชฌเซ‡ เชชเช—เชฒเชพเช‚ เชŸเชฟเช•เชฟเชŸเชจเซ€ เช•เชฟเช‚เชฎเชค (เชธเชธเซเชคเซ€) เช…เชจเซ‡ เชซเซเชฒเชพเช‡เชŸเชจเซ€ เชเชกเชช (เชธเซŒเชฅเซ€ เชเชกเชชเซ€) เชฆเซเชตเชพเชฐเชพ เชตเชฐเซเช—เซ€เช•เชฐเชฃ เชชเซเชฐเช•เชพเชฐเซ‹เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡.
  • เชธเซเช•เซเชฐเชฟเชชเซเชŸเชจเชพ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพเชจเซ‡ เชŸเชฟเช•เชฟเชŸเชจเซ€ เช•เชฟเช‚เชฎเชคเซ‹ (เชธเชธเซเชคเซ€ เชŸเชฟเช•เชฟเชŸเซ‹ เช…เชจเซ‡ เชธเชฐเซ‡เชฐเชพเชถ เช•เชฟเช‚เชฎเชค)เชจเซ‹ เชธเชพเชฐเชพเช‚เชถ เชงเชฐเชพเชตเชคเซ‹ เชˆเชฎเซ‡เชฒ เชฎเซ‹เช•เชฒเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡ เช…เชจเซ‡ เช‰เชชเชฐเซ‹เช•เซเชค เชคเซเชฐเชฃ เชธเซ‚เชšเช•เชพเช‚เช•เซ‹ เชฆเซเชตเชพเชฐเชพ เชธเซ‰เชฐเซเชŸ เช•เชฐเซ‡เชฒเซ€ เชฎเชพเชนเชฟเชคเซ€ เชธเชพเชฅเซ‡เชจเซ‹ เชกเซ‡เชŸเชพ เชซเซเชฐเซ‡เชฎ เชเช•เซเชธเซ‡เชฒ เชซเชพเช‡เชฒ เชคเชฐเซ€เช•เซ‡ เชธเชพเชšเชตเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡.
  • เช‰เชชเชฐเซ‹เช•เซเชค เชคเชฎเชพเชฎ เช•เซเชฐเชฟเชฏเชพเช“ เชšเซ‹เช•เซเช•เชธ เชธเชฎเชฏเช—เชพเชณเชพ เชชเช›เซ€ เชšเช•เซเชฐเชฎเชพเช‚ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡.

เช เชจเซ‹เช‚เชงเชตเซเช‚ เชœเซ‹เช‡เช เช•เซ‡ เชฆเชฐเซ‡เช• เชธเซ‡เชฒเซ‡เชจเชฟเชฏเชฎ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เชตเซ‡เชฌ เชกเซเชฐเชพเช‡เชตเชฐเชฅเซ€ เชถเชฐเซ‚ เชฅเชพเชฏ เช›เซ‡. เชนเซ เชตเชพเชชเชฐเซ‚ เช›เซ เช•เซเชฐเซ‹เชฎเชกเซเชฐเชพเชˆเชตเชฐ, เชนเซเช‚ Google 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 เชจเชตเซเช‚ เชธเชฐเซเชš เช“เชชเชฐเซ‡เชถเชจ เชถเชฐเซ‚ เช•เชฐเชคเชพ เชชเชนเซ‡เชฒเชพ เชฐเซ‡เชจเซเชกเชฎ เชธเซ‡เช•เชจเซเชก เชฎเชพเชŸเซ‡ เชฌเซ‹เชŸเชจเซ‡ "เชธเซ‚เชˆ เชœเชตเซเช‚" เชฌเชจเชพเชตเชตเชพ เชฎเชพเชŸเซ‡ เชตเชชเชฐเชพเชฏ เช›เซ‡. เชธเชพเชฎเชพเชจเซเชฏ เชฐเซ€เชคเซ‡, เชเช• เชชเชฃ เชฌเซ‹เชŸ เช† เชตเชฟเชจเชพ เช•เชฐเซ€ เชถเช•เชคเซเช‚ เชจเชฅเซ€. เชœเซ‹ เชคเชฎเซ‡ เช‰เชชเชฐเซ‹เช•เซเชค เช•เซ‹เชก เชšเชฒเชพเชตเซ‹ เช›เซ‹, เชคเซ‹ เชเช• Chrome เชตเชฟเชจเซเชกเซ‹ เช–เซเชฒเชถเซ‡, เชœเซ‡เชจเซ‹ เช‰เชชเชฏเซ‹เช— เชฌเซ‹เชŸ เชธเชพเช‡เชŸเซเชธ เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เช•เชฐเชถเซ‡.

เชšเชพเชฒเซ‹ เชฅเซ‹เชกเซ‹ เชชเซเชฐเชฏเซ‹เช— เช•เชฐเซ€เช เช…เชจเซ‡ kayak.com เชตเซ‡เชฌเชธเชพเชˆเชŸเชจเซ‡ เชเช• เช…เชฒเช— เชตเชฟเชจเซเชกเซ‹เชฎเชพเช‚ เช–เซ‹เชฒเซ€เช. เช…เชฎเซ‡ เชœเซ‡ เชถเชนเซ‡เชฐเชฅเซ€ เช‰เชกเชพเชจ เชญเชฐเชตเชพ เชœเชˆ เชฐเชนเซเชฏเชพ เช›เซ€เช เชคเซ‡ เชถเชนเซ‡เชฐ เช…เชจเซ‡ เช…เชฎเซ‡ เชœเซ‡ เชถเชนเซ‡เชฐเชฎเชพเช‚ เชœเชตเชพ เชฎเชพเช—เซ€เช เช›เซ€เช เชคเซ‡ เชคเซ‡เชฎเชœ เชซเซเชฒเชพเช‡เชŸเชจเซ€ เชคเชพเชฐเซ€เช–เซ‹ เชชเชธเช‚เชฆ เช•เชฐเซ€เชถเซเช‚. เชคเชพเชฐเซ€เช–เซ‹ เชชเชธเช‚เชฆ เช•เชฐเชคเซ€ เชตเช–เชคเซ‡, เช–เชพเชคเชฐเซ€ เช•เชฐเซ‹ เช•เซ‡ +-3 เชฆเชฟเชตเชธเชจเซ€ เชถเซเชฐเซ‡เชฃเซ€เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซ‹ เช›เซ‡. เช†เชตเซ€ เชตเชฟเชจเช‚เชคเซ€เช“เชจเชพ เชœเชตเชพเชฌเชฎเชพเช‚ เชธเชพเช‡เชŸ เชถเซเช‚ เชฌเชจเชพเชตเซ‡ เช›เซ‡ เชคเซ‡ เชงเซเชฏเชพเชจเชฎเชพเช‚ เชฒเซ‡เชคเชพ เชฎเซ‡เช‚ เช•เซ‹เชก เชฒเช–เซเชฏเซ‹ เช›เซ‡. เชœเซ‹, เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เชคเชฎเชพเชฐเซ‡ เชซเช•เซเชค เชจเชฟเชฐเซเชฆเชฟเชทเซเชŸ เชคเชพเชฐเซ€เช–เซ‹ เชฎเชพเชŸเซ‡ เชœ เชŸเชฟเช•เชฟเชŸ เชถเซ‹เชงเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡, เชคเซ‹ เชคเชฎเชพเชฐเซ‡ เชฌเซ‹เชŸ เช•เซ‹เชกเชฎเชพเช‚ เชซเซ‡เชฐเชซเชพเชฐ เช•เชฐเชตเซ‹ เชชเชกเชถเซ‡ เชคเซ‡เชตเซ€ เช‰เชšเซเชš เชธเช‚เชญเชพเชตเชจเชพ เช›เซ‡. เชœเซเชฏเชพเชฐเซ‡ เชนเซเช‚ เช•เซ‹เชก เชตเชฟเชถเซ‡ เชตเชพเชค เช•เชฐเซเช‚ เช›เซเช‚, เชคเซเชฏเชพเชฐเซ‡ เชนเซเช‚ เชฏเซ‹เช—เซเชฏ เชธเชฎเชœเซ‚เชคเซ€ เช†เชชเซเช‚ เช›เซเช‚, เชชเชฐเช‚เชคเซ เชœเซ‹ เชคเชฎเซ‡ เชฎเซ‚เช‚เชเชตเชฃ เช…เชจเซเชญเชตเซ‹ เช›เซ‹, เชคเซ‹ เชฎเชจเซ‡ เชœเชฃเชพเชตเซ‹.

เชนเชตเซ‡ เชธเชฐเซเชš เชฌเชŸเชจ เชชเชฐ เช•เซเชฒเชฟเช• เช•เชฐเซ‹ เช…เชจเซ‡ เชเชกเซเชฐเซ‡เชธ เชฌเชพเชฐเชฎเชพเช‚เชจเซ€ เชฒเชฟเช‚เช• เชœเซเช“. เชคเซ‡ เชจเซ€เชšเซ‡ เช†เชชเซ‡เชฒเชพ เช‰เชฆเชพเชนเชฐเชฃเชฎเชพเช‚ เชนเซเช‚ เช‰เชชเชฏเซ‹เช— เช•เชฐเซเช‚ เช›เซเช‚ เชคเซ‡ เชฒเชฟเช‚เช• เชœเซ‡เชตเซเช‚ เชœ เชนเซ‹เชตเซเช‚ เชœเซ‹เชˆเช เชœเซเชฏเชพเช‚ เชตเซ‡เชฐเซ€เชเชฌเชฒ เชœเชพเชนเซ‡เชฐ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซเช‚ เช›เซ‡ kayak, เชœเซ‡ URL เชจเซ‡ เชธเช‚เช—เซเชฐเชนเชฟเชค เช•เชฐเซ‡ เช›เซ‡, เช…เชจเซ‡ เชชเชฆเซเชงเชคเชฟเชจเซ‹ เช‰เชชเชฏเซ‹เช— เชฅเชพเชฏ เช›เซ‡ get เชตเซ‡เชฌ เชกเซเชฐเชพเชˆเชตเชฐ. เชถเซ‹เชง เชฌเชŸเชจเชจเซ‡ เช•เซเชฒเชฟเช• เช•เชฐเซเชฏเชพ เชชเช›เซ€, เชชเชฐเชฟเชฃเชพเชฎเซ‹ เชชเซƒเชทเซเช  เชชเชฐ เชฆเซ‡เช–เชพเชตเชพ เชœเซ‹เชˆเช.

เชชเชพเชฏเชฅเซ‹เชจ - เชฎเซเชธเชพเชซเชฐเซ€ เช•เชฐเชตเชพเชจเซเช‚ เชชเชธเช‚เชฆ เช•เชฐเชคเชพ เชฒเซ‹เช•เซ‹ เชฎเชพเชŸเซ‡ เชธเชธเซเชคเซ€ เชเชฐ เชŸเชฟเช•เชฟเชŸ เชถเซ‹เชงเชตเชพเชฎเชพเช‚ เชธเชนเชพเชฏเช•
เชœเซเชฏเชพเชฐเซ‡ เชฎเซ‡เช‚ เช†เชฆเซ‡เชถเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซเชฏเซ‹ get เชฅเซ‹เชกเซ€เชตเชพเชฐเชฎเชพเช‚ เชฌเซ‡ เช•เซ‡ เชคเซเชฐเชฃ เช•เชฐเชคเชพ เชตเชงเซ เชตเช–เชค, เชฎเชจเซ‡ reCaptcha เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชšเช•เชพเชธเชฃเซ€ เชชเซ‚เชฐเซเชฃ เช•เชฐเชตเชพเชจเซเช‚ เช•เชนเซ‡เชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซเช‚. เชคเชฎเซ‡ เช† เชšเซ‡เช• เชฎเซ‡เชจเซเชฏเซเช…เชฒเซ€ เชชเชพเชธ เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹ เช…เชจเซ‡ เชœเซเชฏเชพเช‚ เชธเซเชงเซ€ เชธเชฟเชธเซเชŸเชฎ เชจเชตเซ‹ เชšเซ‡เช• เชšเชฒเชพเชตเชตเชพเชจเซเช‚ เชจเช•เซเช•เซ€ เชจ เช•เชฐเซ‡ เชคเซเชฏเชพเช‚ เชธเซเชงเซ€ เชชเซเชฐเชฏเซ‹เช— เช•เชฐเชตเชพเชจเซเช‚ เชšเชพเชฒเซ เชฐเชพเช–เซ€ เชถเช•เซ‹ เช›เซ‹. เชœเซเชฏเชพเชฐเซ‡ เชฎเซ‡เช‚ เชธเซเช•เซเชฐเชฟเชชเซเชŸเชจเซเช‚ เชชเชฐเซ€เช•เซเชทเชฃ เช•เชฐเซเชฏเซเช‚, เชคเซเชฏเชพเชฐเซ‡ เชเชตเซเช‚ เชฒเชพเช—เชคเซเช‚ เชนเชคเซเช‚ เช•เซ‡ เชชเซเชฐเชฅเชฎ เชถเซ‹เชง เชธเชคเซเชฐ เชนเช‚เชฎเซ‡เชถเชพ เชธเชฐเชณ เชฐเซ€เชคเซ‡ เชšเชพเชฒเชคเซเช‚ เชนเชคเซเช‚, เชคเซ‡เชฅเซ€ เชœเซ‹ เชคเชฎเซ‡ เช•เซ‹เชก เชธเชพเชฅเซ‡ เชชเซเชฐเชฏเซ‹เช— เช•เชฐเชตเชพ เชฎเชพเช‚เช—เชคเชพ เชนเซ‹, เชคเซ‹ เชคเชฎเชพเชฐเซ‡ เชธเชฎเชฏเชพเช‚เชคเชฐเซ‡ เชฎเซ‡เชจเซเชฏเซเช…เชฒเซ€ เชคเชชเชพเชธ เช•เชฐเชตเซ€ เชชเชกเชถเซ‡ เช…เชจเซ‡ เชถเซ‹เชง เชธเชคเซเชฐเซ‹ เชตเชšเซเชšเซ‡ เชฒเชพเช‚เชฌเชพ เช…เช‚เชคเชฐเชพเชฒเซ‹เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เช•เซ‹เชกเชจเซ‡ เชšเชพเชฒเชตเชพ เชฆเซ‡เชตเซ‹ เชชเชกเชถเซ‡. เช…เชจเซ‡, เชœเซ‹ เชคเชฎเซ‡ เชคเซ‡เชจเชพ เชตเชฟเชถเซ‡ เชตเชฟเชšเชพเชฐเซ‹ เช›เซ‹, เชคเซ‹ เชตเซเชฏเช•เซเชคเชฟเชจเซ‡ เชถเซ‹เชง เช•เชพเชฎเช—เซ€เชฐเซ€ เชตเชšเซเชšเซ‡ 10-เชฎเชฟเชจเชฟเชŸเชจเชพ เช…เช‚เชคเชฐเชพเชฒ เชชเชฐ เชชเซเชฐเชพเชชเซเชค เชŸเชฟเช•เชฟเชŸเชจเชพ เชญเชพเชตเซ‹ เชตเชฟเชถเซ‡เชจเซ€ เชฎเชพเชนเชฟเชคเซ€เชจเซ€ เชœเชฐเซ‚เชฐ เชนเซ‹เชฏ เชคเซ‡เชตเซ€ เชถเช•เซเชฏเชคเชพ เชจเชฅเซ€.

XPath เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชชเซƒเชทเซเช  เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเชตเซเช‚

เชคเซ‡เชฅเซ€, เช…เชฎเซ‡ เชเช• เชตเชฟเชจเซเชกเซ‹ เช–เซ‹เชฒเซ€ เช…เชจเซ‡ เชธเชพเช‡เชŸ เชฒเซ‹เชก เช•เชฐเซ€. เช•เชฟเช‚เชฎเชค เช…เชจเซ‡ เช…เชจเซเชฏ เชฎเชพเชนเชฟเชคเซ€ เชฎเซ‡เชณเชตเชตเชพ เชฎเชพเชŸเซ‡, เช…เชฎเชพเชฐเซ‡ XPath เชคเช•เชจเซ€เช• เช…เชฅเชตเชพ CSS เชชเชธเช‚เชฆเช—เซ€เช•เชพเชฐเซ‹เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡. เชฎเซ‡เช‚ XPath เชธเชพเชฅเซ‡ เชตเชณเช—เซ€ เชฐเชนเซ‡เชตเชพเชจเซเช‚ เชจเช•เซเช•เซ€ เช•เชฐเซเชฏเซเช‚ เช…เชจเซ‡ CSS เชชเชธเช‚เชฆเช—เซ€เช•เชพเชฐเซ‹เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เชจ เช…เชจเซเชญเชตเซ€, เชชเชฐเช‚เชคเซ เชคเซ‡ เชฐเซ€เชคเซ‡ เช•เชพเชฎ เช•เชฐเชตเซเช‚ เชคเชฆเซเชฆเชจ เชถเช•เซเชฏ เช›เซ‡. 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

เชคเซ‡ เชคเชฆเซเชฆเชจ เชธเซเชชเชทเซเชŸ เช›เซ‡ เช•เซ‡ เชฌเซ€เชœเซ‹ เชตเชฟเช•เชฒเซเชช เชตเชงเซ เชธเชฐเชณ เชฒเชพเช—เซ‡ เช›เซ‡. เชœเซเชฏเชพเชฐเซ‡ เชคเซ‡เชจเซ‹ เช‰เชชเชฏเซ‹เช— เชฅเชพเชฏ เช›เซ‡, เชคเซเชฏเชพเชฐเซ‡ เชคเซ‡ เชเชตเชพ เชคเชคเซเชตเชจเซ€ เชถเซ‹เชง เช•เชฐเซ‡ เช›เซ‡ เช•เซ‡ เชœเซ‡เชฎเชพเช‚ เชตเชฟเชถเซ‡เชทเชคเชพ เชนเซ‹เชฏ data-codeเชจเซ€ เชธเชฎเชพเชจ price. เชชเซเชฐเชฅเชฎ เชตเชฟเช•เชฒเซเชชเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชคเซ€ เชตเช–เชคเซ‡, เชคเชคเซเชต เชถเซ‹เชงเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡ id เชœเซ‡ เชฌเชฐเชพเชฌเชฐ เช›เซ‡ wtKI-price_aTab, เช…เชจเซ‡ เชคเชคเซเชตเชจเซ‹ XPath เชชเชพเชฅ เชœเซ‡เชตเซ‹ เชฆเซ‡เช–เชพเชฏ เช›เซ‡ /div[1]/div/div/div[1]/div/span/span. เชชเซƒเชทเซเช  เชชเชฐ เช†เชจเชพ เชœเซ‡เชตเซ€ XPath เช•เซเชตเซ‡เชฐเซ€ เชฏเซเช•เซเชคเชฟ เช•เชฐเชถเซ‡, เชชเชฐเช‚เชคเซ เชฎเชพเชคเซเชฐ เชเช• เชœ เชตเชพเชฐ. เชนเซเช‚ เชนเชฎเชฃเชพเช‚ เชœ เช•เชนเซ€ เชถเช•เซเช‚ เช›เซเช‚ id เช†เช—เชฒเซ€ เชตเช–เชคเซ‡ เชœเซเชฏเชพเชฐเซ‡ เชชเซƒเชทเซเช  เชฒเซ‹เชก เชฅเชถเซ‡ เชคเซเชฏเชพเชฐเซ‡ เชฌเชฆเชฒเชพเชถเซ‡. เชชเชพเชคเซเชฐ เช•เซเชฐเชฎ wtKI เชฆเชฐ เชตเช–เชคเซ‡ เชœเซเชฏเชพเชฐเซ‡ เชชเซƒเชทเซเช  เชฒเซ‹เชก เชฅเชพเชฏ เช›เซ‡ เชคเซเชฏเชพเชฐเซ‡ เช—เชคเชฟเชถเซ€เชฒ เชฐเซ€เชคเซ‡ เชฌเชฆเชฒเชพเชฏ เช›เซ‡, เชคเซ‡เชฅเซ€ เชœเซ‡ เช•เซ‹เชก เชคเซ‡เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‡ เช›เซ‡ เชคเซ‡ เช†เช—เชฒเชพ เชชเซƒเชทเซเช เชจเซ‡ เชซเชฐเซ€เชฅเซ€ เชฒเซ‹เชก เช•เชฐเซเชฏเชพ เชชเช›เซ€ เชจเช•เชพเชฎเซเช‚ เชนเชถเซ‡. เชคเซ‡เชฅเซ€ XPath เชธเชฎเชœเชตเชพ เชฎเชพเชŸเซ‡ เชฅเซ‹เชกเซ‹ เชธเชฎเชฏ เชฒเซ‹. เช† เชœเซเชžเชพเชจ เชคเชฎเชจเซ‡ เชธเชพเชฐเซ€ เชฐเซ€เชคเซ‡ เชธเซ‡เชตเชพ เช†เชชเชถเซ‡.

เชœเซ‹ เช•เซ‡, เช เชจเซ‹เช‚เชงเชตเซเช‚ เชœเซ‹เช‡เช เช•เซ‡ เชเช•เชฆเชฎ เชธเชฐเชณ เชธเชพเช‡เชŸเซเชธ เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเชคเซ€ เชตเช–เชคเซ‡ XPath เชชเชธเช‚เชฆเช—เซ€เช•เชพเชฐเซ‹เชจเซ€ เชจเช•เชฒ เช•เชฐเชตเซ€ เช‰เชชเชฏเซ‹เช—เซ€ เชฅเชˆ เชถเช•เซ‡ เช›เซ‡, เช…เชจเซ‡ เชœเซ‹ เชคเชฎเชจเซ‡ เช†เชฎเชพเช‚ เช…เชจเซเช•เซ‚เชณ เชนเซ‹เชฏ, เชคเซ‹ เชคเซ‡เชฎเชพเช‚ เช•เช‚เชˆ เช–เซ‹เชŸเซเช‚ เชจเชฅเซ€.

เชนเชตเซ‡ เชšเชพเชฒเซ‹ เชตเชฟเชšเชพเชฐเซ€เช เช•เซ‡ เชœเซ‹ เชคเชฎเชพเชฐเซ‡ เชธเซ‚เชšเชฟเชจเซ€ เช…เช‚เชฆเชฐ เชคเชฎเชพเชฎ เชถเซ‹เชง เชชเชฐเชฟเชฃเชพเชฎเซ‹เชจเซ‡ เช˜เชฃเซ€ เชฒเซ€เชŸเซ€เช“เชฎเชพเช‚ เชฎเซ‡เชณเชตเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เชนเซ‹เชฏ เชคเซ‹ เชถเซเช‚ เช•เชฐเชตเซเช‚. เช–เซ‚เชฌ เชœ เชธเชฐเชณ. เชฆเชฐเซ‡เช• เชชเชฐเชฟเชฃเชพเชฎ เชเช• เชตเชฐเซเช— เชธเชพเชฅเซ‡ เชเช• เชชเชฆเชพเชฐเซเชฅ เช…เช‚เชฆเชฐ เช›เซ‡ resultWrapper. เชฌเชงเชพ เชชเชฐเชฟเชฃเชพเชฎเซ‹ เชฒเซ‹เชก เช•เชฐเชตเชพเชจเซเช‚ เชจเซ€เชšเซ‡ เชฌเชคเชพเชตเซ‡เชฒ เชเช• เชธเชฎเชพเชจ เชฒเซ‚เชชเชฎเชพเช‚ เช•เชฐเซ€ เชถเช•เชพเชฏ เช›เซ‡.

เช เชจเซ‹เช‚เชงเชตเซเช‚ เชœเซ‹เชˆเช เช•เซ‡ เชœเซ‹ เชคเชฎเซ‡ เช‰เชชเชฐเซ‹เช•เซเชค เชธเชฎเชœเซ‹ เช›เซ‹, เชคเซ‹ เชคเชฎเชพเชฐเซ‡ เชฎเซ‹เชŸเชพเชญเชพเช—เชจเชพ เช•เซ‹เชกเชจเซ‡ เชธเชฐเชณเชคเชพเชฅเซ€ เชธเชฎเชœเซ€ เชฒเซ‡เชตเซเช‚ เชœเซ‹เชˆเช เชœเซ‡เชจเซเช‚ เช…เชฎเซ‡ เชตเชฟเชถเซเชฒเซ‡เชทเชฃ เช•เชฐเซ€เชถเซเช‚. เชœเซ‡เชฎ เชœเซ‡เชฎ เช† เช•เซ‹เชก เชšเชพเชฒเซ‡ เช›เซ‡, เชคเซ‡เชฎ เชคเซ‡เชฎ เช†เชชเชฃเซ‡ เช…เชฎเซเช• เชชเซเชฐเช•เชพเชฐเชจเซ€ เชชเชพเชฅ-เชธเซเชชเซ‡เชธเชฟเชซเชพเชฏเซ€เช‚เช— เชฎเชฟเช•เซ‡เชจเชฟเชเชฎ (XPath) เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เช†เชชเชฃเชจเซ‡ เชœเซ‡ เชœเซ‹เชˆเช เช›เซ‡ เชคเซ‡ (เชนเช•เซ€เช•เชคเชฎเชพเช‚, เชเชฒเชฟเชฎเซ‡เชจเซเชŸ เชœเซ‡เชฎเชพเช‚ เชชเชฐเชฟเชฃเชพเชฎ เชฒเชชเซ‡เชŸเชพเชฏเซ‡เชฒเซเช‚ เช›เซ‡) เชเช•เซเชธเซ‡เชธ เช•เชฐเซ€เช เช›เซ€เช. เช† เชเชฒเชฟเชฎเซ‡เชจเซเชŸเชจเซเช‚ เชŸเซ‡เช•เซเชธเซเชŸ เชฎเซ‡เชณเชตเชตเชพ เช…เชจเซ‡ เชคเซ‡เชจเซ‡ เชเชตเชพ เช‘เชฌเซเชœเซ‡เช•เซเชŸเชฎเชพเช‚ เชฎเซ‚เช•เชตเชพ เชฎเชพเชŸเซ‡ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡ เชœเซ‡เชฎเชพเช‚เชฅเซ€ เชกเซ‡เชŸเชพ เชตเชพเช‚เชšเซ€ เชถเช•เชพเชฏ เช›เซ‡ (เชชเซเชฐเชฅเชฎ เช‰เชชเชฏเซ‹เช— flight_containers, เชชเช›เซ€ - flights_list).

เชชเชพเชฏเชฅเซ‹เชจ - เชฎเซเชธเชพเชซเชฐเซ€ เช•เชฐเชตเชพเชจเซเช‚ เชชเชธเช‚เชฆ เช•เชฐเชคเชพ เชฒเซ‹เช•เซ‹ เชฎเชพเชŸเซ‡ เชธเชธเซเชคเซ€ เชเชฐ เชŸเชฟเช•เชฟเชŸ เชถเซ‹เชงเชตเชพเชฎเชพเช‚ เชธเชนเชพเชฏเช•
เชชเซเชฐเชฅเชฎ เชคเซเชฐเชฃ เชฒเซ€เชŸเซ€เช“ เชชเซเชฐเชฆเชฐเซเชถเชฟเชค เชฅเชพเชฏ เช›เซ‡ เช…เชจเซ‡ เช†เชชเชฃเซ‡ เชœเซ‡ เชœเซ‹เชˆเช เชคเซ‡ เชฌเชงเซเช‚ เชธเซเชชเชทเซเชŸเชชเชฃเซ‡ เชœเซ‹เชˆ เชถเช•เซ€เช เช›เซ€เช. เชœเซ‹ เช•เซ‡, เช…เชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เชฎเชพเชนเชฟเชคเซ€ เชฎเซ‡เชณเชตเชตเชพเชจเซ€ เชตเชงเซ เชฐเชธเชชเซเชฐเชฆ เชฐเซ€เชคเซ‹ เช›เซ‡. เช†เชชเชฃเซ‡ เชฆเชฐเซ‡เช• เชคเชคเซเชตเชฎเชพเช‚เชฅเซ€ เช…เชฒเช—-เช…เชฒเช— เชกเซ‡เชŸเชพ เชฒเซ‡เชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡.

เช•เชพเชฎเซ‡ เชฒเชพเช—เซ‹!

เชซเช‚เช•เซเชถเชจ เชฒเช–เชตเชพเชจเซ‹ เชธเซŒเชฅเซ€ เชธเชนเซ‡เชฒเซ‹ เชฐเชธเซเชคเซ‹ เช เช›เซ‡ เช•เซ‡ เชตเชงเชพเชฐเชพเชจเชพ เชชเชฐเชฟเชฃเชพเชฎเซ‹ เชฒเซ‹เชก เช•เชฐเซ‹, เชคเซ‡เชฅเซ€ เช†เชชเชฃเซ‡ เชคเซเชฏเชพเช‚เชฅเซ€ เชœ เชถเชฐเซ‚เช†เชค เช•เชฐเซ€เชถเซเช‚. เชนเซเช‚ เชซเซเชฒเชพเช‡เชŸเซเชธเชจเซ€ เชธเช‚เช–เซเชฏเชพเชจเซ‡ เชฎเชนเชคเซเชคเชฎ เช•เชฐเชตเชพ เชฎเชพเช‚เช—เซ เช›เซเช‚ เช•เซ‡ เชœเซ‡เชจเชพ เชตเชฟเชถเซ‡ เชชเซเชฐเซ‹เช—เซเชฐเชพเชฎ เชฎเชพเชนเชฟเชคเซ€ เชฎเซ‡เชณเชตเซ‡ เช›เซ‡, เชธเซ‡เชตเชพเชฎเชพเช‚ เชถเช‚เช•เชพ เช‰เชญเซ€ เช•เชฐเซเชฏเชพ เชตเชฟเชจเชพ เช•เซ‡ เชœเซ‡ เชจเชฟเชฐเซ€เช•เซเชทเชฃ เชคเชฐเชซ เชฆเซ‹เชฐเซ€ เชœเชพเชฏ เช›เซ‡, เชคเซ‡เชฅเซ€ เชฆเชฐเซ‡เช• เชตเช–เชคเซ‡ เชœเซเชฏเชพเชฐเซ‡ เชชเซƒเชทเซเช  เชชเซเชฐเชฆเชฐเซเชถเชฟเชค เชฅเชพเชฏ เชคเซเชฏเชพเชฐเซ‡ เชนเซเช‚ เชตเชงเซ เชชเชฐเชฟเชฃเชพเชฎเซ‹ เชฒเซ‹เชก เช•เชฐเซ‹ เชฌเชŸเชจเชจเซ‡ เช•เซเชฒเชฟเช• เช•เชฐเซเช‚ เช›เซเช‚. เช† เช•เซ‹เชกเชฎเชพเช‚, เชคเชฎเชพเชฐเซ‡ เชฌเซเชฒเซ‹เช• เชชเชฐ เชงเซเชฏเชพเชจ เช†เชชเชตเซเช‚ เชœเซ‹เชˆเช try, เชœเซ‡ เชฎเซ‡เช‚ เช‰เชฎเซ‡เชฐเซเชฏเซเช‚ เช›เซ‡ เช•เชพเชฐเชฃ เช•เซ‡ เช•เซ‡เชŸเชฒเซ€เช•เชตเชพเชฐ เชฌเชŸเชจ เชฏเซ‹เช—เซเชฏ เชฐเซ€เชคเซ‡ เชฒเซ‹เชก เชฅเชคเซเช‚ เชจเชฅเซ€. เชœเซ‹ เชคเชฎเซ‡ เชชเชฃ เช†เชจเซ‹ เชธเชพเชฎเชจเซ‹ เช•เชฐเซ‹ เช›เซ‹, เชคเซ‹ เชซเช‚เช•เซเชถเชจ เช•เซ‹เชกเชฎเชพเช‚ เช† เชซเช‚เช•เซเชถเชจ เชฎเชพเชŸเซ‡เชจเชพ เช•เซ‹เชฒเซเชธ เช•เซ‹เชฎเซ‡เชจเซเชŸ เช•เชฐเซ‹ 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 = '[email protected]'
    password = 'YOUR PASSWORD'

    server = smtplib.SMTP('smtp.outlook.com', 587)
    server.ehlo()
    server.starttls()
    server.login(username, password)
    msg = ('Subject: Flight Scrapernn
Cheapest Flight: {}nAverage Price: {}nnRecommendation: {}nnEnd of message'.format(matrix_min, matrix_avg, (loading+'n'+prediction)))
    message = MIMEMultipart()
    message['From'] = '[email protected]'
    message['to'] = '[email protected]'
    server.sendmail('[email protected]', '[email protected]', msg)
    print('sent email.....')

เชฎเซ‡เช‚ Outlook เชเช•เชพเช‰เชจเซเชŸ (hotmail.com) เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เช† เชธเซเช•เซเชฐเชฟเชชเซเชŸเชจเซเช‚ เชชเชฐเซ€เช•เซเชทเชฃ เช•เชฐเซเชฏเซเช‚ เช›เซ‡. เชฎเซ‡เช‚ Gmail เชเช•เชพเช‰เชจเซเชŸ เชธเชพเชฅเซ‡ เชฏเซ‹เช—เซเชฏ เชฐเซ€เชคเซ‡ เช•เชพเชฎ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชคเซ‡เชจเซเช‚ เชชเชฐเซ€เช•เซเชทเชฃ เช•เชฐเซเชฏเซเช‚ เชจเชฅเซ€, เช† เช‡เชฎเซ‡เช‡เชฒ เชธเชฟเชธเซเชŸเชฎ เช–เซ‚เชฌ เชœ เชฒเซ‹เช•เชชเซเชฐเชฟเชฏ เช›เซ‡, เชชเชฐเช‚เชคเซ เช˜เชฃเชพ เชธเช‚เชญเชตเชฟเชค เชตเชฟเช•เชฒเซเชชเซ‹ เช›เซ‡. เชœเซ‹ เชคเชฎเซ‡ เชนเซ‹เชŸเชฎเซ‡เชฒ เชเช•เชพเช‰เชจเซเชŸเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‹ เช›เซ‹, เชคเซ‹ เชชเช›เซ€ เชฌเชงเซเช‚ เช•เชพเชฎ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡, เชคเชฎเชพเชฐเซ‡ เช•เซ‹เชกเชฎเชพเช‚ เชคเชฎเชพเชฐเซ‹ เชกเซ‡เชŸเชพ เชฆเชพเช–เชฒ เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡.

เชœเซ‹ เชคเชฎเซ‡ เช† เช•เชพเชฐเซเชฏ เชฎเชพเชŸเซ‡ เช•เซ‹เชกเชจเชพ เชšเซ‹เช•เซเช•เชธ เชตเชฟเชญเชพเช—เซ‹เชฎเชพเช‚ เชฌเชฐเชพเชฌเชฐ เชถเซเช‚ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡ เชคเซ‡ เชธเชฎเชœเชตเชพ เชฎเชพเช‚เช—เชคเชพ เชนเซ‹, เชคเซ‹ เชคเชฎเซ‡ เชคเซ‡เชฎเชจเซ€ เชจเช•เชฒ เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹ เช…เชจเซ‡ เชคเซ‡เชฎเชจเซ€ เชธเชพเชฅเซ‡ เชชเซเชฐเชฏเซ‹เช— เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹. เช•เซ‹เชก เชธเชพเชฅเซ‡ เชชเซเชฐเชฏเซ‹เช— เช เชคเซ‡เชจเซ‡ เชธเชพเชšเซ€ เชฐเซ€เชคเซ‡ เชธเชฎเชœเชตเชพเชจเซ‹ เชเช•เชฎเชพเชคเซเชฐ เชฐเชธเซเชคเซ‹ เช›เซ‡.

เชคเซˆเชฏเชพเชฐ เชธเชฟเชธเซเชŸเชฎ

เชนเชตเซ‡ เชœเซเชฏเชพเชฐเซ‡ เช…เชฎเซ‡ เชตเชพเชค เช•เชฐเซ€ เช›เซ‡ เชคเซ‡ เชฌเชงเซเช‚ เช•เชฐเซ€ เชฒเซ€เชงเซเช‚ เช›เซ‡, เช…เชฎเซ‡ เชเช• เชธเชฐเชณ เชฒเซ‚เชช เชฌเชจเชพเชตเซ€ เชถเช•เซ€เช เช›เซ€เช เชœเซ‡ เช…เชฎเชพเชฐเชพ เช•เชพเชฐเซเชฏเซ‹เชจเซ‡ เช•เซ‰เชฒ เช•เชฐเซ‡ เช›เซ‡. เชธเซเช•เซเชฐเชฟเชชเซเชŸ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพ เชชเชพเชธเซ‡เชฅเซ€ เชถเชนเซ‡เชฐเซ‹ เช…เชจเซ‡ เชคเชพเชฐเซ€เช–เซ‹ เชตเชฟเชถเซ‡เชจเชพ เชกเซ‡เชŸเชพเชจเซ€ เชตเชฟเชจเช‚เชคเซ€ เช•เชฐเซ‡ เช›เซ‡. เชธเซเช•เซเชฐเชฟเชชเซเชŸเชจเชพ เชธเชคเชค เชชเซเชจเชƒเชชเซเชฐเชพเชฐเช‚เชญ เชธเชพเชฅเซ‡ เชชเชฐเซ€เช•เซเชทเชฃ เช•เชฐเชคเซ€ เชตเช–เชคเซ‡, เชคเชฎเซ‡ เชฆเชฐ เชตเช–เชคเซ‡ เช† เชกเซ‡เชŸเชพเชจเซ‡ เชฎเซ‡เชจเซเชฏเซเช…เชฒเซ€ เชฆเชพเช–เชฒ เช•เชฐเชตเชพ เช‡เชšเซเช›เชคเชพ เชนเซ‹เชต เชคเซ‡เชตเซ€ เชถเช•เซเชฏเชคเชพ เชจเชฅเซ€, เชคเซ‡เชฅเซ€ เชชเชฐเซ€เช•เซเชทเชฃเชจเชพ เชธเชฎเชฏเช—เชพเชณเชพ เชฎเชพเชŸเซ‡, เช…เชจเซเชฐเซ‚เชช เชฐเซ‡เช–เชพเช“, เชคเซ‡เชฎเชจเซ€ เชจเซ€เชšเซ‡เชจเซ€ เชŸเชฟเชชเซเชชเชฃเซ€เช“เชจเซ‡ เช…เชจเช•เชฎเซ‡เชจเซเชŸ เช•เชฐเซ€เชจเซ‡ เชŸเชฟเชชเซเชชเชฃเซ€ เช•เชฐเซ€ เชถเช•เชพเชฏ เช›เซ‡, เชœเซ‡เชฎเชพเช‚ เชกเซ‡เชŸเชพเชจเซ‡ เชœเชฐเซ‚เชฐเซ€ เช›เซ‡. เชธเซเช•เซเชฐเชฟเชชเซเชŸ เชนเชพเชฐเซเชกเช•เซ‹เชกเซ‡เชก เช›เซ‡.

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.....')

เชธเซเช•เซเชฐเชฟเชชเซเชŸเชจเซ‹ เชŸเซ‡เชธเซเชŸ เชฐเชจ เช† เชœเซ‡เชตเซ‹ เชฆเซ‡เช–เชพเชฏ เช›เซ‡.
เชชเชพเชฏเชฅเซ‹เชจ - เชฎเซเชธเชพเชซเชฐเซ€ เช•เชฐเชตเชพเชจเซเช‚ เชชเชธเช‚เชฆ เช•เชฐเชคเชพ เชฒเซ‹เช•เซ‹ เชฎเชพเชŸเซ‡ เชธเชธเซเชคเซ€ เชเชฐ เชŸเชฟเช•เชฟเชŸ เชถเซ‹เชงเชตเชพเชฎเชพเช‚ เชธเชนเชพเชฏเช•
เชธเซเช•เซเชฐเชฟเชชเซเชŸเชจเซ‹ เชŸเซ‡เชธเซเชŸ เชฐเชจ

เชชเชฐเชฟเชฃเชพเชฎเซ‹

เชœเซ‹ เชคเชฎเซ‡ เชคเซ‡เชจเซ‡ เช†เชŸเชฒเซเช‚ เชฆเซ‚เชฐ เช•เชฐเซเชฏเซเช‚ เช›เซ‡, เชคเซ‹ เช…เชญเชฟเชจเช‚เชฆเชจ! เชคเชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เชนเชตเซ‡ เช•เชพเชฐเซเชฏเชฐเชค เชตเซ‡เชฌ เชธเซเช•เซเชฐเซ‡เชชเชฐ เช›เซ‡, เชœเซ‹ เช•เซ‡ เชนเซเช‚ เชคเซ‡เชจเซ‡ เชธเซเชงเชพเชฐเชตเชพเชจเซ€ เช˜เชฃเซ€ เชฐเซ€เชคเซ‹ เชœเซ‹เชˆ เชถเช•เซเช‚ เช›เซเช‚. เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เชคเซ‡เชจเซ‡ Twilio เชธเชพเชฅเซ‡ เชธเช‚เช•เชฒเชฟเชค เช•เชฐเซ€ เชถเช•เชพเชฏ เช›เซ‡ เชœเซ‡เชฅเซ€ เช•เชฐเซ€เชจเซ‡ เชคเซ‡ เชˆเชฎเซ‡เชฒเชจเซ‡ เชฌเชฆเชฒเซ‡ เชŸเซ‡เช•เซเชธเซเชŸ เชธเช‚เชฆเซ‡เชถเชพเช“ เชฎเซ‹เช•เชฒเซ‡. เชคเชฎเซ‡ เชเช•เชธเชพเชฅเซ‡ เช…เชจเซ‡เช• เชธเชฐเซเชตเชฐเซเชธเชฎเชพเช‚เชฅเซ€ เชชเชฐเชฟเชฃเชพเชฎเซ‹ เชชเซเชฐเชพเชชเซเชค เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ VPN เช…เชฅเชตเชพ เช…เชจเซเชฏ เช•เซ‹เชˆ เชตเชธเซเชคเซเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹. เชธเชพเชˆเชŸ เชฏเซเชเชฐเชจเซ‡ เชคเชชเชพเชธเชตเชพเชฎเชพเช‚ เชธเชฎเชฏเชพเช‚เชคเชฐเซ‡ เชธเชฎเชธเซเชฏเชพ เชŠเชญเซ€ เชฅเชพเชฏ เช›เซ‡ เช•เซ‡ เชคเซ‡ เชตเซเชฏเช•เซเชคเชฟ เช›เซ‡ เช•เซ‡ เช•เซ‡เชฎ, เชชเชฐเช‚เชคเซ เช† เชธเชฎเชธเซเชฏเชพ เชชเชฃ เช‰เช•เซ‡เชฒเซ€ เชถเช•เชพเชฏ เช›เซ‡. เช•เซ‹เชˆ เชชเชฃ เชธเช‚เชœเซ‹เช—เซ‹เชฎเชพเช‚, เชนเชตเซ‡ เชคเชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เชเช• เช†เชงเชพเชฐ เช›เซ‡ เชœเซ‡เชจเซ‡ เชคเชฎเซ‡ เชˆเชšเซเช›เซ‹ เชคเซ‹ เชตเชฟเชธเซเชคเซƒเชค เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹. เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เช–เชพเชคเชฐเซ€ เช•เชฐเซ‹ เช•เซ‡ เชเช•เซเชธเซ‡เชฒ เชซเชพเช‡เชฒ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพเชจเซ‡ เช‡เชฎเซ‡เช‡เชฒเชจเชพ เชœเซ‹เชกเชพเชฃ เชคเชฐเซ€เช•เซ‡ เชฎเซ‹เช•เชฒเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡.

เชชเชพเชฏเชฅเซ‹เชจ - เชฎเซเชธเชพเชซเชฐเซ€ เช•เชฐเชตเชพเชจเซเช‚ เชชเชธเช‚เชฆ เช•เชฐเชคเชพ เชฒเซ‹เช•เซ‹ เชฎเชพเชŸเซ‡ เชธเชธเซเชคเซ€ เชเชฐ เชŸเชฟเช•เชฟเชŸ เชถเซ‹เชงเชตเชพเชฎเชพเช‚ เชธเชนเชพเชฏเช•

เชซเช•เซเชค เชจเซ‹เช‚เชงเชพเชฏเซ‡เชฒเชพ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพเช“ เชœ เชธเชฐเซเชตเซ‡เชฎเชพเช‚ เชญเชพเช— เชฒเชˆ เชถเช•เซ‡ เช›เซ‡. เชธเชพเช‡เชจ เช‡เชจ เช•เชฐเซ‹, เชฎเชนเซ‡เชฐเชฌเชพเชจเซ€ เช•เชฐเซ€เชจเซ‡.

เชถเซเช‚ เชคเชฎเซ‡ เชตเซ‡เชฌ เชธเซเช•เซเชฐเซ‡เชชเชฟเช‚เช— เชคเช•เชจเซ€เช•เซ‹เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‹ เช›เซ‹?

  • เชนเชพ

  • เช•เซ‹เชˆ

8 เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพเช“เช เชฎเชค โ€‹โ€‹เช†เชชเซเชฏเซ‹. 1 เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพ เชฆเซ‚เชฐ เชฐเชนเซเชฏเซ‹.

เชธเซ‹เชฐเซเชธ: www.habr.com

เชเช• เชŸเชฟเชชเซเชชเชฃเซ€ เช‰เชฎเซ‡เชฐเซ‹