爬蟲處理JS網頁的問題 #6
-
老師,想要詢問一下最近在自學playwright(老師應該知道是MS所發表的自動化工具),嘗試在處理一些網頁的動作,今天在處理這個網站 https://www.burgerking.com.tw/ 她有一個抽獎的活動,原本想用自動化程式點選,然後去讀取中獎的資訊,然後判斷是否是自己想要的獎品,如果不是自己想要的就重複抽獎,但發現他的中獎資訊放在js裡面,然後這個js網頁的header的網址需要附上一個現在的時間(這個用datetime就可以處理,算簡單),但現在遇到問題是當我用playwright去點選之後,要執行卻都會遇到timeout即使我延長了等待時間(我不知道這是網站機制嗎?就是會擋爬蟲,還是這單純只是自動化程式往往會遇到的問題),但我也有問題是即使我可以進行點選,但爬蟲如果要處理js網頁會不會遇到很多問題,因為去查過好像都要用爬蟲的框架(Scrapy)去處理(我有理解錯就跟我說),或是跟我稍微指引一下方向,因為我發現現在用js的網站很多,所以如果要爬往往都會遇到很多問題,希望能在這邊可以有所突破,謝謝老師!!! |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 3 replies
-
我不太了解問題的內容,但如果只是要用 playwright 去進行抽獎動作,就用 playwright codegen 錄製過程,再找尋可以定位抽獎結果資訊的標籤即可。以下是我測試的抽獎動作及執行截圖,有回答到你的問題嗎? from playwright.sync_api import Playwright, sync_playwright, expect
def run(playwright: Playwright) -> None:
browser = playwright.chromium.launch(headless=False)
context = browser.new_context()
page = context.new_page()
page.goto("https://www.burgerking.com.tw/")
page.get_by_role("button", name="GO").click()
print(page.locator(".player-styles-opnfk-1ec2byg").text_content())
print(page.locator(".player-styles-opnfk-796bk7").text_content())
# ---------------------
context.close()
browser.close()
with sync_playwright() as playwright:
run(playwright) |
Beta Was this translation helpful? Give feedback.
我不太了解問題的內容,但如果只是要用 playwright 去進行抽獎動作,就用 playwright codegen 錄製過程,再找尋可以定位抽獎結果資訊的標籤即可。以下是我測試的抽獎動作及執行截圖,有回答到你的問題嗎?