目的:使用python的numpy、pandas、matplotlib库来分析成都二手房的房价信息。
原始数据来源:贝壳找房网站上的数据https://cd.ke.com/ershoufang
环境:win10 python 3.7.3
环境:win10 python 3.7.3 vscode编辑器
(1)第一部分:使用python爬取贝壳网上的数据
爬取的数据是:锦江、青羊、武侯、高新、成华、金牛、天府新区、双流、温江、郫都、龙泉驿、新都等区的两室的二手房价信息,每个地区爬取了300个条目。
1 #encoding:utf-8
2
3 '''
4 目的:从贝壳找房中爬取房价信息。网址:https://cd.ke.com/ershoufang/qingyang/l2/5 分别是:锦江、青羊、武侯、高新、成华、金牛、天府新区、双流、温江、郫都、龙泉驿、新都等区的房价信息6 环境:python 3.7.37 所需的库:requests、BeautifulSoup、xlwt8 '''
9
10 importrequests11 importstring12 importcsv13 importre14 from bs4 importBeautifulSoup15
16 headers ={17 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36',\18 "Host": "cd.ke.com",19 }20
21 #将获取的信息保存到表格中
22 defsave_info(content, title):23 head = ('position', 'floor', 'builtYear', 'layout', 'size', 'orientation', 'totalPrice', 'perPrice')24 with open('%s.csv' % title, 'w', newline='', encoding='utf-8-sig') as f:25 writer =csv.writer(f)26 writer.writerow(head)27 for i inrange(len(content)):28 row =content[i]29 writer.writerow(row)30
31
32
33 #获取房屋相关的信息
34 #主要包括:'position', 'floor', 'builtYear', 'layout', 'size', 'orientation', 'totalPrice', 'perPrice'
35 defget_info(place):36
37 all_info =[]38 position_list =[]39 floor_list =[]40 builtYear_list =[]41 layout_list =[]42 size_list =[]43 orientation_list=[]44 totalPrice_list =[]45 unitPrice_list =[]46
47 for i in range(10):48 link = 'https://cd.ke.com/ershoufang/%s/pg%dl2/' %(place, i)49 r = requests.get(link, headers=headers, timeout=10)50 print (str(i+1), 'status_code:', r.status_code)51 soup = BeautifulSoup(r.text, &#