[問題] 爬蟲網站

作者: jackjenny (痛苦)   2020-10-14 01:44:38
請教大家有關爬蟲問題
我有爬蟲各航空公司的貨物運單狀態
甲去大陸購物 可從業者提供的報關單、主提單、副提單 查到包裹狀態
例如:飛機起飛與否等資訊、清關狀態
這是華航的CARGO 貨況查詢 網站
https://reurl.cc/5qKZzq
因為有JS所以利用selenium+BeautifulSoup 可以輕鬆爬到任何html資料
我不是用path下去定位而是抓取id找想要的到資料
但有些id長這樣:
ContentPlaceHolder1_rpFlightEvent_lblWgt_0
ContentPlaceHolder1_rpFlightEvent_lblPcs_0
ContentPlaceHolder1_rpFlightEvent_lblArrTime_0
ContentPlaceHolder1_rpFlightEvent_lblOff_0
Q1.id尾數都是無意義的亂碼字母與數字組成
我這次可以輕鬆爬到資料,下次該怎防範尾數產生新的亂碼id了?
Q2.如Q1. 網站這樣做 算是反爬蟲手段之一嗎?
謝謝
作者: totte (totte)   2020-10-14 02:31:00
這應該是aspnet寫的 你爬的是grid資料?印象中grid每列裡的控制項會長一個數字
作者: mychiux413 (小邱)   2020-10-14 11:42:00
A2. 我沒點進去,但那可能是前端框架如react編譯後的產物,下次他再編譯上新版前端,亂碼可能就會變,確實可以防爬蟲,但你就不要抓id就好只是他最尾是0比較奇怪,通常會是一串hash code
作者: rexyeah (ccccccc)   2020-10-14 12:03:00
execute script to find substr of id and return?
作者: jackjenny (痛苦)   2020-10-14 14:41:00
謝謝樓上 我先做一下功課樓上提到關鍵字1F 1.我看這是ASPNET沒錯 2.我看前端碼沒有grid
作者: single4565 (leekdumpling韭菜水餃)   2020-10-14 18:33:00
用正則表達式看看能不能解決?
作者: jackjenny (痛苦)   2020-10-14 18:33:00
關鍵字 應該不是grid3F 1.只有綁id了 連class都沒有10F 我來研究正則是看看好了 擔心下次爬不到7F 不太明白你意思 我已經可以輕鬆抓取id資料但這id好像是亂碼產生 擔心下改抓不到Y
作者: ToastBen (吐司邊)   2020-10-14 19:16:00
推7F大大 定位父元素往下找
作者: TakiDog (多奇狗)   2020-10-14 22:59:00
Xpath很好用
作者: boboye (me)   2020-10-15 10:06:00
可以利用regular去爬前面那些固定的字
作者: stillcolor (鬼艾倫)   2020-10-15 11:42:00
這情況就用xpath,算是最快解決的方式了吧
作者: kobe8112 (小B)   2020-10-15 15:09:00
如推文所述,我也習慣用Xpath定位,但你舉的這幾個例子,看起來跟「亂碼」有點差距,是指哪幾個字是亂碼啊?
作者: stillcolor (鬼艾倫)   2020-10-16 10:12:00
原po應該是想要表達『隨機碼』才對吧
作者: kobe8112 (小B)   2020-10-16 17:50:00
我意思就是我看不出來哪裡亂碼/隨機,他舉的例子看起來是有意義的縮寫不是?

Links booklink

Contact Us: admin [ a t ] ucptt.com