我想在 GIS 城市網站上搜索活躍在布萊頓鎮的專案名稱。https://brighton.maps.arcgis.com/apps/webappviewer/index.html?id=2e3dacc6615e4cf59b6db043cc3f12cc
但是,我似乎無法繞過最初的條款和協議復選框。我對網路抓取仍然很陌生,所以我不確定從哪里開始(除了典型的匯入和請求):
import requests
from bs4 import Beautifulsoup
URL = "https://brighton.maps.arcgis.com/apps/webappviewer/index.html?id=2e3dacc6615e4cf59b6db043cc3f12cc"
content = requests.get(URL)
soup = BeautifulSoup(content.text, "lxml")
我試圖關注這個問題:How to bypass Terms and Conditions agreement with Beautiful Soup,然而,這是一個完全不同的場景。我有信心能夠弄清楚刮擦部分;這只是我無法通過的“條款和協議”提示。請幫助我很絕望!
uj5u.com熱心網友回復:
沒有理由繞過復選框,因為無論如何您都對內容感興趣。
您可以右鍵單擊該頁面,選擇檢查,然后選擇右側的網路選項卡。在這里,您可以看到瀏覽器發送的加載頁面的所有請求。正如你所看到的,它相當多。如果您使用請求,則必須模仿這種行為。看起來您可能正在尋找的資料實際上是從不同的 url 加載的。
r = requests.get("https://brighton.maps.arcgis.com/sharing/rest/content/items/2e3dacc6615e4cf59b6db043cc3f12cc/data?f=json").json()
通過這種方式,您可以獲得可以使用的字典。您究竟對哪些資訊感興趣?
requests 的替代方案是 selenium 包,它模擬/控制瀏覽器并讓您單擊元素等。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/518191.html
