python網絡爬蟲小項目(爬取評論)超級簡單

python網絡爬蟲小項目(爬取評論)超級簡單

學習python網絡爬蟲的完整路徑:

(第一章)

python網絡爬蟲(第一章/共三章:網絡爬蟲庫、robots.txt規則(防止犯法)、查看獲取網頁源代碼)-CSDN博客https://blog.csdn.net/2302_78022640/article/details/149428719?sharetype=blogdetail&sharerId=149428719&sharerefer=PC&sharesource=2302_78022640&spm=1011.2480.3001.8118(第二章)

python網絡爬蟲(第二章/共三章:安裝瀏覽器驅動,驅動瀏覽器加載網頁、批量下載資源)-CSDN博客https://blog.csdn.net/2302_78022640/article/details/149431071?sharetype=blogdetail&sharerId=149431071&sharerefer=PC&sharesource=2302_78022640&spm=1011.2480.3001.8118

(第三章)

python網絡爬蟲(第三章/共三章:驅動瀏覽器窗口界面,網頁元素定位,模擬用戶交互(輸入操作、點擊操作、文件上傳),瀏覽器窗口切換,循環爬取存儲)-CSDN博客https://blog.csdn.net/2302_78022640/article/details/149453182?spm=1011.2124.3001.6209(額外加一個小項目)

即此篇文章

爬取商品好評

完整代碼

代碼如下:

from selenium import webdriver
from selenium.webdriver.edge.options import Options
from selenium.webdriver.common.by import By
import time# 定義獲取頁面內容的函數
def get_content(driver):# 等待頁面加載完成,可以考慮用 WebDriverWait 來代替 time.sleeptime.sleep(3)# 以追加模式打開文件 '好評.txt',準備寫入內容file = open('好評.txt', 'a', encoding='utf-8')# 找到所有 class 為 'body-content' 的元素,這些元素包含評論的正文內容contents = driver.find_elements(By.CLASS_NAME, 'body-content')# 遍歷所有找到的評論內容for content in contents:# 給予寫入文件內容的時間time.sleep(3)# 將評論文本寫入文件file.write(content.text)file.write('\n')# 寫入完成后關閉文件file.close()# 配置 Edge 瀏覽器選項
edge_options = Options()
# 設置 Edge 瀏覽器的二進制路徑
edge_options.binary_location = r"C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe"
# 初始化 Edge 瀏覽器驅動
driver = webdriver.Edge(options=edge_options)# 打開指定的 URL 網頁
driver.get("https://review.suning.com/cluster_cmmdty_review/cluster-38249278-000000012389328846-0000000000-1-good.htm?originalCmmdtyType=general&safp=d488778a.10004.loverRight.166")# 調用 get_content 函數獲取當前頁面的評論內容
get_content(driver)# 獲取“下一頁”按鈕
next_rv_maidian = driver.find_element(By.CSS_SELECTOR, '.next.rv-maidian')# 使用 while 循環來點擊“下一頁”按鈕并繼續抓取頁面評論
while next_rv_maidian != []:# 獲取“下一頁”按鈕元素next_rv_maidian = driver.find_element(By.CSS_SELECTOR, '.next.rv-maidian')# 點擊“下一頁”按鈕next_rv_maidian.click()# 獲取當前頁的評論內容get_content(driver)

如何尋找頁面元素:

網頁右鍵檢查,

點擊左上角按鍵:

點擊左方要爬取的內容:

觀察到右邊:class="body-content"

此行代碼即可捕獲相應內容:

contents = driver.find_elements(By.CLASS_NAME, 'body-content')

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/92147.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/92147.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/92147.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

本周大模型新動向:獎勵引導、多模態代理、鏈式思考推理

點擊藍字關注我們AI TIME歡迎每一位AI愛好者的加入!01Iterative Distillation for Reward-Guided Fine-Tuning of Diffusion Models in Biomolecular Design本文提出了一種用于生物分子設計中獎勵引導生成的擴散模型微調框架。擴散模型在建模復雜、高維數據分布方面…

JAVA+AI教程-第三天

我將由簡入繁,由零基礎到詳細跟大家一起學習java---------------------------------------------------------------------01、程序流程控制:今日課程介紹02、程序流程控制:if分支結構if分支有三種形式,執行順序就是先執行if&…

自定義命令行解釋器shell

目錄 一、模塊框架圖 二、實現目標 三、實現原理 四、全局變量 五、環境變量函數 六、初始化環境變量表函數 七、輸出命令行提示符模塊 八、提取命令輸入模塊 九、填充命令行參數表模塊 十、檢測并處理內建命令模塊 十一、執行命令模塊 十二、源碼 一、模塊框架圖…

uniapp使用uni-ui怎么修改默認的css樣式比如多選框及樣式覆蓋小程序/安卓/ios兼容問題

修改 uni-ui 多選框 (uni-data-checkbox) 的默認樣式 在 uniapp 中使用 uni-ui 的 uni-data-checkbox 組件時,可以通過以下幾種方式修改其默認樣式: 方法一:使用深度選擇器格式一:在頁面的 style 部分使用深度選擇器 >>>…

《Linux 環境下 Nginx 多站點綜合實踐:域名解析、訪問控制與 HTTPS 加密部署》?

綜合練習:請給openlab搭建web網站,網站需求: 1.基于域名www.openlab.com可以訪問網站內容為 welcome to openlab!!, 2.給該公司創建三個子界面分別顯示學生信息,教學資料和繳費網站,基于www.openlab.com/student 網站訪…

網絡基礎1-11綜合實驗(eNSP):vlan/DHCP/Web/HTTP/動態PAT/靜態NAT

注:在華為模擬器(eNSP)上做的實驗其中,在內網實驗:Vlan/DHCP/VWeb/HTTP,在外網實驗:動態PAT/靜態NAT一、拓撲結構1. 核心設備與連接設備接口連接對象VLAN/IP角色LSW2/LSW3Ethernet 0/0/1-2PC1/P…

Mac上安裝Claude Code的步驟

以下是基于現有信息的簡明安裝指南,適用于macOS系統。請按照以下步驟操作: 前提條件 操作系統:macOS 10.15或更高版本。Node.js和npm:Claude Code基于Node.js,需安裝Node.js 18和npm。請檢查是否已安裝: …

MybatisPlus-15.擴展功能-邏輯刪除

一.邏輯刪除配置邏輯刪除的字段時,logic-delete-field字段配置的是邏輯刪除的實體字段名。字段類型可以是boolean和integer。在java中默認是boolean類型。邏輯已刪除值默認為1,而邏輯未刪除值默認為0。當是1時代表已刪除(1在數據庫表中為true&#xff0c…

IDEA 同時修改某個區域內所有相同變量名

在 IntelliJ IDEA 中,同時修改某個區域內所有 相同變量名 的快捷鍵是: ? Shift F6(重命名變量) 但這個快捷鍵默認是 全局重命名,如果你想 僅修改某個方法或代碼塊內的變量名,可以這樣做:&…

Telink BLE 低功耗學習

低功耗管理(Low Power Management)也可以稱為功耗管理(Power Management),本?檔中會簡稱為PM。Telink低功耗解惑我查閱多連接SDK開發手冊時,低功耗管理章節看了兩三遍也沒太明白,有以下幾個問題…

設備管理系統(MMS)如何在工廠MOM功能設計和系統落地

一、核心系統功能模塊設備管理系統圍繞設備全生命周期管理設計,涵蓋基礎數據管理、設備運維全流程管控及統計分析功能,具體如下:基礎數據管理設備與備件臺賬:包含設備臺賬(設備編號、識別碼、型號、生產日期等&#xf…

低空經濟展 | 牧羽天航空攜飛行重卡AT1300亮相2025深圳eVTOL展

為深入推動低空經濟產業高質量發展,構建全球eVTOL(電動垂直起降飛行器)產業交流合作高端平臺,2025深圳eVTOL展定于2025年9月23日至25日在深圳坪山燕子湖國際會展中心隆重舉辦。本屆展會以“低空經濟?eVTOL?航空應急救援?商載大…

CS231n-2017 Lecture4神經網絡筆記

神經網絡:我們之前的線性分類器可以接受輸入,進而給出評分,這是一種線性變換,再此基礎上,我們對這種線性變換結果進行非線性變換,并輸入到下一層線性分類器中,這個過程就像是人類大腦神經的運作…

暑期算法訓練.5

目錄 20. 力扣 34.在排序數組中查找元素的第一個位置和最后一個位置 20.1 題目解析: 20.2 算法思路: 20.3 代碼演示: ?編輯 20.4 總結反思: 21.力扣 69.x的平方根 21.1 題目解析: 21.2 算法思路:…

【HDLBits習題詳解 2】Circuit - Sequential Logic(5)Finite State Machines 更新中...

1. Fsm1(Simple FSM 1 - asynchronous reset)狀態機可分為兩類:(1)Mealy狀態機:輸出由當前狀態和輸入共同決定。輸入變化可能立即改變輸出。(2)Moore狀態機:輸出僅由當前…

多級緩存(億級流量緩存)

傳統緩存方案問題 多級緩存方案 流程 1.客戶端瀏覽器緩存頁面靜態資源; 2. 客戶端請求到Nginx反向代理;[一級緩存_瀏覽器緩存] 3.Nginx反向代理將請求分發到Nginx集群(OpenResty); 4.先重Nginx集群OpenResty中獲取Nginx本地緩存數據;[二級緩存_Nginx本地緩存] 5.若Nginx本地緩存…

淺談Rust語言特性

如大家所了解的,Rust是一種由Mozilla開發的系統編程語言,專注于內存安全、并發性和高性能,旨在替代C/C等傳統系統編程語言。Rust 有著非常優秀的特性,例如:可重用模塊 內存安全和保證(安全的操作與不安全的…

React探索高性能Tree樹組件實現——react-window、react-vtree

🚀 簡介 在現代 Web 應用中,處理大量層級數據的樹形結構是一個常見挑戰。傳統的樹組件在面對成千上萬個節點時往往會出現性能瓶頸,導致頁面卡頓、內存占用過高等問題。本文將深入探討如何使用 react-window 和 react-vtree 構建高性能的虛擬…

C++ 中的默認構造函數:非必要,不提供

《More Effective C:35個改善編程與設計的有效方法》 讀書筆記:非必要不提供default constructor在 C 中,默認構造函數(即無需任何參數即可調用的構造函數)是對象“無中生有”的一種方式。它的核心作用是在沒有外部信息…

如何選擇低代碼開發平臺

選擇低代碼開發平臺需要考慮平臺的開發效率、靈活性和擴展能力、安全性和合規性、成本效益等關鍵因素。 具體來說,平臺的靈活性和擴展能力尤為重要,這決定了平臺是否能長期滿足企業日益增長的復雜需求。例如,企業在評估平臺時,應關…