2021年4月6日 星期二

[真實案例] 使用Python 爬取內政部戶政司提供之全國門牌資料 (PTT CodeJob案例)

今天我們要介紹如何使用Python爬取內政部戶政司提供之全國門牌資料


首先讓我們連到文章內的網址

點右鍵觀看程式碼,先搜尋"現有村里街路門牌查詢"關鍵字串

我們可以發現在網頁原始碼中,找不到該字串,因此可以判斷網頁某些內容是需要執行過Javascript後,才會是完整內容

在點選"以編釘日期、編釘類別查詢"按鈕後,來到縣市選擇頁面,但是我們發現網址並沒有改變,所以無法單純利用網址跳轉方式來操作

按下F12觀看網路操作,發現有進行一個POST動作

請求內容為使用日期作為搜尋條件

點選臺北市後,看到有對另外一個網址進行POST

請求內容除了剛才的日期以外,還多了一個城市編碼

填好想要的條件之後,點選搜尋


請求發出後,就會回應我們相關的內容

當我們點選下一頁時,POST的需求也跟著改變

我們已經找出資料是由dataQuery這個網址所回應,因此我們要爬資料只需要照著需求填寫,再利用POST功能取得資料就可以了

最後我們來比對一下網頁資料與抓下來的內容
v1 部分是門牌資料,v2是編訂日期,v3是編訂類別




操作影片



0 意見:

張貼留言

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | Blogger Templates