看板 Python 關於我們 聯絡資訊
請教大家有關爬蟲問題 我有爬蟲各航空公司的貨物運單狀態 甲去大陸購物 可從業者提供的報關單、主提單、副提單 查到包裹狀態 例如:飛機起飛與否等資訊、清關狀態 這是華航的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. 網站這樣做 算是反爬蟲手段之一嗎? 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.167.210.16 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1602611080.A.48D.html
totte: 這應該是aspnet寫的 你爬的是grid資料? 10/14 02:31
totte: 印象中grid每列裡的控制項會長一個數字 10/14 02:31
mychiux413: A2. 我沒點進去,但那可能是前端框架如react編譯後的 10/14 11:42
mychiux413: 產物,下次他再編譯上新版前端,亂碼可能就會變,確 10/14 11:42
mychiux413: 實可以防爬蟲,但你就不要抓id就好 10/14 11:42
mychiux413: 只是他最尾是0比較奇怪,通常會是一串hash code 10/14 11:43
rexyeah: execute script to find substr of id and return? 10/14 12:03
jackjenny: 謝謝樓上 我先做一下功課樓上提到關鍵字 10/14 14:41
jackjenny: 1F 1.我看這是ASPNET沒錯 2.我看前端碼沒有grid 10/14 18:32
single4565: 用正則表達式看看能不能解決? 10/14 18:33
jackjenny: 關鍵字 應該不是grid 10/14 18:33
jackjenny: 3F 1.只有綁id了 連class都沒有 10/14 18:35
jackjenny: 10F 我來研究正則是看看好了 擔心下次爬不到 10/14 18:36
jackjenny: 7F 不太明白你意思 我已經可以輕鬆抓取id資料 10/14 18:38
jackjenny: 但這id好像是亂碼產生 擔心下改抓不到Y 10/14 18:39
ToastBen: 推7F大大 定位父元素往下找 10/14 19:16
TakiDog: Xpath很好用 10/14 22:59
boboye: 可以利用regular去爬前面那些固定的字 10/15 10:06
stillcolor: 這情況就用xpath,算是最快解決的方式了吧 10/15 11:42
kobe8112: 如推文所述,我也習慣用Xpath定位,但你舉的這幾個例子 10/15 15:09
kobe8112: ,看起來跟「亂碼」有點差距,是指哪幾個字是亂碼啊? 10/15 15:10
stillcolor: 原po應該是想要表達『隨機碼』才對吧 10/16 10:12
kobe8112: 我意思就是我看不出來哪裡亂碼/隨機,他舉的例子看起來 10/16 17:50
kobe8112: 是有意義的縮寫不是? 10/16 17:50