所以,你好。Python初學者和相當新的在這里。我實際上并不想這樣做,但我似乎無法在任何地方找到任何答案。所以我只是(或者我想)想抓取這個網站來獲得一個隨機詞。我似乎無法找到一種有效的方法來使用哪些標簽來過濾 html 代碼。任何建議或好的資源將不勝感激!另外,這是我的代碼:
url = 'https://www.randomlists.com/random-words?dup=false&qty=1'
page = requests.get(url)
soup = BeautifulSoup(page.text, 'html.parser')
review_text = soup.find_all(class_='support')
print(review_text)
>> []
我不斷更改 find_all() 引數,但我無法找出正確的引數
uj5u.com熱心網友回復:
首先,嘗試在 youtube 上找到一些基本教程,以了解如何廢棄基本網站以及一切如何整體運作。之后,我建議你開始學習這本書并練習。
uj5u.com熱心網友回復:
將放棄幾個資源:
課程:https : //automatetheboringstuff.com/chapter11/
YouTube:https : //youtu.be/GjKQ6V_ViQE 和https://youtu.be/HiOtQMcI5wg
個人專案:
https://github.com/0sergio-hash/Meal-Plan-scraping-project/blob/a884078eb119ab7ac5d113a8bdab494caad3db05/Meal Plan Project.ipynb
和
https://github.com/0sergio-hash/Amazon-Web-Scraping-project/blob/main/Amazon Web Scraper Project.ipynb
第二個專案與第二個 YouTube 視頻一起進行了一些細微的修改
uj5u.com熱心網友回復:
隨機詞是在頁面上使用 JavaScript 生成的。換句話說,當您的瀏覽器向服務器發送請求,并獲得 HTML(初始 DOM)、CSS 和 JavaScript 檔案作為回應時。您的瀏覽器將執行 JavaScript,并將元素(隨機世界)插入 HTML(現在是修改后的 DOM)。
使用時requests.get(url),會得到 HTML(初始 DOM),并且無法抓取隨機詞(因為它不存在)!
因此,為了獲取 HTML(修改后的 DOM),您必須在 JavaScript 執行后抓取頁面。
有很多解決方案,請參考這篇文章。
PS。如何驗證隨機詞是由 JavaScript 生成的?
在瀏覽器中禁用 JavaScript,然后重新加載頁面,您將看不到隨機詞。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/407913.html
標籤:
