Python爬取愛彼迎訂房者評論信息



一、主題式網絡爬蟲設計方案(15分)

1.主題式網絡爬蟲名稱

名稱:爬取愛彼迎訂房者評論信息

2.主題式網絡爬蟲爬取的內容與數據特征分析

本次爬蟲主要爬取愛彼迎訂房者相關信息

3.主題式網絡爬蟲設計方案概述(包括實現思路與技術難點)

本次設計方案主要使用request庫和beautifulSoup庫對網站訪問,最后以”TXT“格式將數據保存在本地。

技術難點主要包括對愛彼迎頁面的分析和采集。

二、主題頁面的結構特征分析(15分)

例:airbnb.cn/users/show/85276582

 

 

 可以分析一下頁面。F12打開控制台調試,

 

 class = "_1ekkhy94" 對應的div容器有用戶名

以此類推可以找到其他關鍵點

 

 還可以通過用戶頭像這里(class="_1mgxxu3"),不僅可以獲得頭像圖片的文件地址(src),也可以在這里獲得用戶名稱(title/alt)

 

三、網絡爬蟲程序設計(60分)
爬蟲程序主體要包括以下各部分,要附源代碼及較詳細注釋,並在每部分程序后面提供輸出結果的截圖。

讀取網頁:

 

 直接使用request庫訪問頁面,獲取網頁數據

分析數據:

用beautifulSoup庫分析html頁面尋找之前找到的class點,獲取我需要的信息

保存數據:

 

 首先創建一個user.txt文件用於存儲,代碼作用為:

打開文件流,循環寫入用戶名稱、用戶頭像文件地址、用戶評論數、用戶實名狀態等,最后關閉文件流保存數據

 

完整程序代碼:

 1 import requests
 2 from bs4 import BeautifulSoup 3 4 def getinfo(url): 5 try: 6 r = requests.get(url) 7  r.raise_for_status() 8 return r.text 9 except: 10 return "error" 11 12 13 def userinfo(html): 14 soup = BeautifulSoup(html, "html.parser") 15 title = soup.select("img._1mgxxu3") 16 user_name = title[0].get('title') 17 print("user:" + user_name) 18 user_img = title[0].get('src') 19 print("avatar:" + user_img) 20 reg_time = soup.select("div._11dqbld7") 21 user_c = reg_time[0].get_text() 22 print("talk:" + user_c) 23 user_auth = reg_time[1].get_text() 24 print("auth:" + user_auth) 25 zhu = soup.select("span._1nmdbudj") 26 for i in zhu: 27 print(i.get_text()) 28 #保存數據 29 fo = open("user.txt", "w+") 30 fo.writelines(user_name + "\n") 31 fo.writelines(user_img + "\n") 32 fo.writelines(user_c + "\n") 33 fo.writelines(user_auth + "\n") 34 for i in zhu: 35 fo.writelines(i.get_text() + "\n") 36  fo.close() 37 38 39 40 # def main(): 41 html = getinfo("https://www.airbnb.cn/users/show/85276582") 42 userinfo(html)

 

運行結果:

 

保存的數據文件:

 

 

四、結論(10分)
1.經過對主題數據的分析與可視化,可以得到哪些結論?

通過python可以快速獲取自己想要的數據並保存在本地,可以節省很多工作量,提高效率。

2.對本次程序設計任務完成的情況做一個簡單的小結。

通過這次任務,學會使用python獲取自己需要的數據並且保存下來,很方便。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM