這是我的python3腳本: import bs4, requests def getCompAddress(https://www.google.com/search): res = requests.get(https://www.google.com/search) res.raise_for_status() soup = bs4.BeautifulSoup(res.text, 'html.parser') elems = soup.select('#rhs_block.LrzXr') print(elems)...的網址getCompAddress只是Google的搜索結果。因此,對于“五叉處的十字路口”,google在右側顯示地址和電話信息。我只想抓取我已復制到其CSS路徑中的地址soup.select。但是,當我運行此腳本時,所有顯示的內容都是“ []” ...而不是地址。我在這里想念什么?Google可以防止這種刮擦嗎?謝謝你的幫助!
2 回答

幕布斯6054654
TA貢獻1876條經驗 獲得超7個贊
您應該檢查res.text變量以獲取網站的html響應。
您通常應使用這種方法來調試BeautifulSoup刮板,因為由于許多不同的原因(例如javascript支持或驗證碼檢查),結果可能與預期的刮板不同
另外,據我所知,谷歌有一個驗證碼檢查來防止機器人(并讓人們使用他們的付費api)
添加回答
舉報
0/150
提交
取消