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获取自己需要的数据并且保存下来,很方便。

 

posted @ 2020-04-15 15:01  陈淑娟  阅读(1296)  评论(0编辑  收藏  举报