2017年6月12日 星期一

Python邊學邊記錄-Crawler網路爬蟲-實戰-虎航

Python Crawler

在爬虎航的航班資訊的時候,好像不是這麼標準SOP就可以取得網頁資料了!

透過開發者工具可以發現,這個SelectFlights.aspx是有來源網址的,這代表是在一個地方先搜尋之後再到這來。
Python Crawler

再看一下Search.aspx的部份

Python Crawler

Python Crawler

另外也可以看一下Search.aspx的response會發現是空的!
這代表在這邊是沒有回傳資料的,而SelectFlights.aspx的response是有的!
Python Crawler

Python Crawler

所以,程式的部份就需要改透過request.session來處理!
resp = requests.session()

resp1 = resp.post('https://booking.tigerairtw.com/Search.aspx', data=form_data)
resp2 = resp.get('https://booking.tigerairtw.com/SelectFlights.aspx')

soup = BeautifulSoup(resp2, 'html5lib')

這樣子,就可以取得航班資訊了!
測試的時候更新太多次,被ban了...技術不好就是一下子會被發現是爬蟲…改用selenium了!

沒有留言:

張貼留言