使用Python爬蟲抓取圖片和文字實驗【玩轉華為云】
1、? 實驗目標
了解華為云產品頁面信息,實操體驗華為云VPC/ECS/RDS等云服務配置操作,通過使用所購買的華為云產品和終端命令行完成部署Python爬蟲。
2、? 準備環境
2.1、 預置環境
點擊上方“預置實驗環境”按鈕,【約等待3分鐘】后預置成功。預置成功后ECS資源用戶、密碼信息可點擊預置環境信息查看。
2.2、 創建云數據庫RDS
在已登錄的華為云控制臺,展開左側菜單欄,點擊“服務列表”->“數據庫”->“云數據庫 RDS”進入云數據庫RDS控制臺。
點擊“購買數據庫實例”。
① 計費模式:按需計費;
② 區域:華北-北京四;
③ 實例名稱:自定義,如rds-spider;
④ 數據庫引擎:MySQL;
⑤ 數據庫版本:5.7;
⑥ 實例類型:單機;
⑦ 存儲類型:SSD云盤;
⑧ 可用區:可用區二;
⑨ 時區:UTC+08:00;
性能規格:通用型,2核 | 4GB;
② 存儲空間:40GB;
③ 硬盤加密:不加密;
④ 虛擬私有云:選擇預置環境預置的虛擬私有云;
⑤ 內網安全組:選擇預置環境預置的內網安全組;
⑥ 數據庫端口:默認(3306);
⑦ 設置密碼:現在設置;
⑧ 管理員密碼:自定義,如rIDM7g4nl5VxRUpI(請牢記設置的密碼);
⑨ 參數模板:默認;
⑩ 購買數量:1;
? 只讀實例:暫不購買;
如下圖所示:
參數設置完成點擊“立即購買”,確認參數無誤后點擊“提交”完成購買,點擊“返回云數據庫RDS列表”可查看到云數據庫RDS正在創建中,約等待【4-6分鐘】數據庫狀態變為“正常”,說明數據庫創建完成,如下圖所示:
2.3、 創建數據庫及數據庫表
點擊云數據庫RDS“rds-spider”進入詳情頁,在左側導航欄,單擊“連接管理”->“公網地址”->單擊“綁定”->“確定”。如下圖所示:
彈性公網IP綁定完成,點擊“登錄”,輸入用戶名:root,密碼:創建云數據庫RDS時設置的密碼,如下圖所示。在此步驟中可以測試下密碼是否正確。
點擊“登錄”進入數據庫列表,然后點擊“+新建數據庫”,數據庫名稱為“vmall”,點擊“確定”,完成數據庫創建,如下圖所示:
在新建的數據庫右側點擊“新建表”,進入數據庫“vmall”的表管理頁,點擊“+新建表”,表名:“product”,其他參數默認,點擊“下一步”如下圖所示:
添加3個字段分別如下:
①列名id,類型int,長度11,勾選主鍵,擴展信息如下圖(id自增長);
②列名title,類型varchar,長度255,勾選可空;
③列名image,類型varchar,長度255,勾選可空。
設置完成點擊“立即創建”,彈出SQL預覽頁面。
2.4、???????? 查看目的網頁并編寫爬蟲代碼
2.4.1、? 洞察目的網頁
在【實驗操作桌面】瀏覽器新建tab頁,輸入華為商城地址并訪問:https://sale.vmall.com/huaweizone.html,在打開的頁面選擇一件商品打開商品詳情頁,如下圖所示:
按“F12”查看網頁元素,選擇“鼠標跟隨”按鈕查看元素,然后點擊網頁中某個元素,可以看到源碼界面顯示了此元素對應的源碼片段,從該源碼片段中找到元素class或是id屬性,如下圖所示:
2.4.2、?? 創建爬蟲項目并導入
切換到【實驗操作桌面】,打開“Xfce終端”,依次執行以下命令在桌面新建項目文件夾。
cd Desktop
scrapy startproject vmall_spider
cd vmall_spider
scrapy genspider -t crawl vmall "vmall.com"
啟動“Pycharm”,啟動成功點擊“File”->“Open”,選擇創建的項目“vmall_spider”如下圖所示:
點擊“OK”->“This Window”完成項目導入。
2.4.3、?? 編寫爬蟲代碼
在項目“vmall_spider”->“spiders”下,雙擊打開“vmall.py”文件,刪除原有代碼,寫入以下代碼:
import scrapy from scrapy.linkextractors import LinkExtractor from scrapy.spiders import CrawlSpider, Rule from vmall_spider.items import VmallSpiderItem class VamllSpider(CrawlSpider): name = 'vamll' allowed_domains = ['vmall.com'] start_urls = ['https://sale.vmall.com/huaweizone.html'] rules = ( Rule(LinkExtractor(allow=r'.*/product/.*'), callback='parse_item', follow=True), )
按“Ctrl+s”鍵保存,如下圖所示:
雙擊打開“itmes.py”文件,刪除原有代碼,寫入以下代碼:
# Define here the models for your scraped items # # See documentation in: # https://docs.scrapy.org/en/latest/topics/items.html import scrapy class VmallSpiderItem(scrapy.Item): title=scrapy.Field() image=scrapy.Field()
雙擊打開“pipelines.py”文件,刪除原有代碼,寫入以下代碼(使用前面步驟創建的云數據庫RDS的密碼、前面步驟綁定的彈性公網IP替換代碼中的相關信息)。
鼠標右鍵“vmall_spider”(目錄第二層)點擊“new”->“Python File”創建“start.py”文件,填入名稱“start”,點擊“OK”如下圖所示:
2.5、 在彈性云服務器ECS上運行爬蟲程序
2.5.1、?? 安裝所需依賴
登錄彈性云服務器ECS:
① 切換到【實驗操作桌面】已打開的“Xfce終端”,執行以下命令(使用彈性云服務器ECS的公網IP替換命令中的【EIP】),成功登錄云服務器后顯示如下;
說明: 在華為云控制點展開左側菜單欄,點擊“服務列表”->“計算”->“彈性云服務器ECS”進入管理列表,可查看復制名稱為“python-spider”的ECS服務器的彈性公網IP。
依次執行以下命令安裝pip依賴。
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple scrapy pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple selenium pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple pymysql pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple pillow
執行以下命令(使用彈性云服務器ECS的彈性公網IP替換命令中的EIP)上傳項目到彈性云服務器ECS,提示輸入密碼為:使用預置環境信息中云服務器名稱為python-spider的用戶密碼
cd /home/user/Desktop && scp -r ./vmall_spider root@EIP:/root
仿照步驟3.1重新登錄彈性云服務器ECS,登錄成功后執行以下命令,可查看到上傳的項目。
2.5.2、? 查看爬取數據
切換至【實驗操作桌面】瀏覽器已登錄云數據庫RDS頁面,點擊“對象列表”->“打開表”如下圖所示:
3、? 結束語
Python使用場景較豐富,通過Python進行爬蟲只是其功能之一,希望通過本次實驗操作能讓大家更熟悉Python語言。若想了解更多Python相關操作,可在華為網絡進行其它Python相關實驗操作。
MySQL Python 數據庫
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。