本文主要是笔者为了学习python数据分析而做的一些练习,主要是利用网络爬虫获取的相关数据对上海市各个行政区的房价的性价比进行简要分析。

整个项目主要分为三个大的部分:数据的获取,数据的清洗,数据的分析

第一部分:数据的获取

本文的数据获取都是通过python相关爬虫工具包BeautifulSoup,在相关的网页和公开的API上获取的客观数据,分别包括以下两种:

(1)百度地图API上获取的数据,具体有上海市每个行政区的医院、小学、初中、公园、体育场、购物、地铁站、小区的数量。

(2)安居客网页上海二手房的相关数据,主要包括房间的价格、面积、户型等。

本文的python爬虫主要分为三个步骤:网页的获取——》网页数据的解析——》数据的储存

(1)本文数据的获取主要利用python的requests相关工具包,获取到网页的整个内容

(2)本文数据的解析主要利用python的BeautfulSoup和json相关工具包进行内容的解析,

其中百度API获的数据是json格式,采用joson.load()方法进行解析,而安居客网页的数 据则是HTML 格式,使用了BeautfulSoup的相关方法解析

(3)数据获取之后,因为本文的数据量不大,所以直接保存为本地的csv文件

主要的python代码如下所示:

#获取百度地图API的相关数据的爬虫代码

import requests

from bs4 import BeautifulSoup

import json

headers={'User-Agent':'Mozilla/3.0 (Linux; Android 8.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Mobile Safari/537.36'}

for i in range(1,12):

pa={'q':'','region':'上海市','scop':'2','page_size':20,'page_num':i,'output':'json','ak':'8KnqTdCS7APBHAmnOCKfvWiOkCzoAPAx'}

r =requests.get("http://api.map.baidu.com/place/v2/search",params=pa,headers=headers)

decodejson = json.loads(r.text)

print("正在获取第%d页" % i)

for each in decodejson['results']:

hospital_name=each['name']

hospital_area=each['area']

with open('desktop/huoguodian.csv','a+',encoding='gbk') as file:

file.write(hospital_name+','+hospital_area+'\n')

#获取安居客上海二手房价相关数据的python爬虫代码

import requests

from bs4 import BeautifulSoup

import time

import re

headers={'User-Agent':'Mozilla/8.0 (Linux; Android 7.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Mobile Safari/537.36','cookie': 'aQQ_ajkguid=5C00162A-1B7A-7120-AD52-FE08A2D96F61; _ga=GA1.2.50999661.1582604990; 58tj_uuid=48ec3204-a7eb-442a-ba99-cc74cceb8edb; als=0; sessid=F04C1E27-F27D-A7CB-EF42-F073F7C96ED1; lps=http%3A%2F%2Fhf.anjuke.com%2Fsale%2F%7C; twe=2; wmda_uuid=0558e8d2183d2c798b98f2c3b681552c; wmda_new_uuid=1; wmda_visited_projects=%3B6289197098934; _gid=GA1.2.1611413650.1582947737; ajk_member_captcha=e5970910635e72147730f07b96444b57; isp=true; Hm_lvt_c5899c8768ebee272710c9c5f365a6d8=1582962418; ctid=11; Hm_lpvt_c5899c8768ebee272710c9c5f365a6d8=1582962466; wmda_session_id_6289197098934=1582966320898-c2e4bd03-e6f9-4289; __xsptplusUT_8=1; init_refer=https%253A%252F%252Fshanghai.anjuke.com%252Fsale%252Fchongming%252Fp1%252F; new_uv=9; xzfzqtoken=hbHC%2FoyACNQofcmI%2BPpzK1CZs1ZCCnxeo7VbmksyJEQXKoHpip42xp0BO%2FIz8hHDin35brBb%2F%2FeSODvMgkQULA%3D%3D; browse_comm_ids=287563%7C373304; propertys=wq3sya-q6ggon_wpk4aw-q6gbla_w4p7w9-q6ga5l_vp567s-q68q25_; _gat=1; new_session=0; __xsptplus8=8.9.1582966321.1582966391.3%232%7Csp0.baidu.com%7C%7C%7C%25E5%25AE%2589%25E5%25B1%2585%25E5%25AE%25A2%7C%23%23PH2eSa7XGWd98maMBKXEiaIMbbq7XhkC%23'}

#area_list=['pudong','minhang','baoshan','xuhui','songjiang','jiading','jingan','putuo','yangpu','hongkou','changning','huangpu','qingpu','fengxian','jinshan','chongming']

area_list=['yangpu','hongkou','changning','huangpu','qingpu','fengxian','jinshan','chongming']#area_list=['pudong','minhang']

a=[]

b=[]

c=[]

d=[]

for k in range(0,len(area_list)):

for i in range(0,49):

link='https://shanghai.anjuke.com/sale/'+area_list[k]+'/p'+str(i)

#proxies 设置代理ip

#proxies1={'http':'58.17.125.215:53281','https':'58.17.125.215:53281'}

r=requests.get(link,headers=headers,proxies=proxies1)

print("正在获取 %s第%d页" % (area_list[k],i))

# 调用time函数 暂停几秒 防止反爬虫

time.sleep(10)

soup=BeautifulSoup(r.text)

#print(r.text)

list_house1 = soup.find_all('div',class_="house-details")

for house in list_house1:

House_describe = house.find('div',class_="details-item").text.strip()

House_address = house.find('span',class_ = "comm-address").text.strip()

a.append(House_describe)

b.append(House_address)

list_house2 = soup.find_all('div',class_='pro-price')

for house in list_house2:

House_price_det = house.find('span',class_="price-det").text.strip()

House_price_unit = house.find('span',class_="unit-price").text.strip()

c.append(House_price_det)

d.append(House_price_unit)

python关于二手房的课程论文_python 爬虫基础-二手房信息获取为例相关推荐

  1. python模块os测试文件是否存在及基础原信息获取

    python模块os测试文件是否存在及基础原信息获取 在自动化测试中,经常需要查找操作文件,比如说查找配置文件(从而读取配置文件的信息),查找测试报告(从而发送测试报告邮件),经常要对大量文件和大量路 ...

  2. python怎么爬取电影海报_python爬虫之通过BeautifulSoup获取豆瓣最新上映电影的海报...

    0.目录 1.分析页面 2.初步代码 3.完整代码 4.总结 5.补充 1.分析页面 上一次我们讲了xpath获取豆瓣最新上映电影的海报,这一次会分析如何使用BeautifulSoup获取.启程:py ...

  3. python关于二手房的课程论文_python之数据清理-以二手房信息为例

    第二部分:数据的清洗 数据的预处理主要是对原始数据进行一些清洗和整理工作,由于数据的质量影响着分析结果的质量,因此提高数据的质量对于后续的研究十分必要. 本文的数据清洗工作主要是用了python的nu ...

  4. python关于二手房的课程论文_python二手房项目分析

    分析目的: 利用python进行简单数据分析 导入模块 利用使用到了python中的pandas,numpy包和matplotlib.seaboard可视化包 import pandas as pd ...

  5. python爬虫和数据可视化论文_Python爬虫之小说信息爬取与数据可视化分析

    一.小说数据的获取 获取的数据为起点中文网的小说推荐周榜的所有小说信息. 源代码对所有想要获取的数据都有注释. http://dxb.myzx.cn/grandmal/ # -*- coding: u ...

  6. python的scrapy框架的安装_Python爬虫基础(四)--Scrapy框架的安装及介绍

    Scrapy框架的介绍 安装: pip3 install Scrapy 安装测试: cmd命令行界面,输入:scrapy -h 框架安装完成: scrapy框架: 分为五个模块+两个中间件(5+2结构 ...

  7. python 使用socks 爬虫_python爬虫基础之urllib的使用

    这篇文章主要介绍了python爬虫基础之urllib的使用,帮助大家更好的理解和使用python,感兴趣的朋友可以了解下 一.urllib 和 urllib2的关系 在python2中,主要使用url ...

  8. python爬取网页数据软件_python爬虫入门10分钟爬取一个网站

    一.基础入门 1.1什么是爬虫 爬虫(spider,又网络爬虫),是指向网站/网络发起请求,获取资源后分析并提取有用数据的程序. 从技术层面来说就是 通过程序模拟浏览器请求站点的行为,把站点返回的HT ...

  9. python爬取多页数据_python爬虫实现爬取同一个网站的多页数据代码实例

    本篇文章小编给大家分享一下python爬虫实现爬取同一个网站的多页数据代码实例,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看. 一.爬虫的目的 从网上获 ...

  10. python网页结构分析_Python爬虫基础之网页组成解析

    当我们用浏览器访问网站时,每个网页的大不相同,你是否想过它为什么会呈现多种不同的样式呢?就让我们一起了解一下网页的基本组成.结构和节点等内容吧! 网页的组成 网页可以分为三大部分--HTML.CSS和 ...

最新文章

  1. 我了解到的新知识之——电热水器用电安全
  2. 2020年中国智慧城市发展值得关注的技术
  3. 学习笔记(02):Python网络编程并发编程-assert断言的用途
  4. clamav Java_ClamAV安装使用及API例子
  5. 31岁博士副县长拟提任正处,3年前毕业被人才引进
  6. LIRe 源代码分析 6:检索(ImageSearcher)[以颜色布局为例]
  7. 为什么JDK6中的substring()方法会导致内存泄露?
  8. 【贝尔链创始人Vincent: 区块链不仅是技术革命 更是认知革命】
  9. 小编告诉你关于阿里云商标注册靠不靠普
  10. 程序员带半箱辣条参加东京奥运,网友:猝不及防一波狗粮!
  11. 2020新版小桔灯作文能力阶梯序列作文课件教案教材全套
  12. 学习大数据可以进入哪些公司?
  13. ORB-Mono原理梳理
  14. 全内反射棱镜(TIR)的建模
  15. 欧盟委员会希望将电子支付标准化
  16. 突破!Matlab国产替代品Truffer官宣取得实质进步
  17. 正大国际期货:期货投资你的感悟是什么?
  18. aps软件中的SKU会影响库存预测
  19. linux下编译dbus源码,ubuntu安装dbus
  20. Python-Django毕业设计重庆工商大学失物招领系统(程序+Lw)

热门文章

  1. 计算机网络按网络覆盖范围大小排序 从小到大为,现代远程网络教育概论试题及答案分析.pdf...
  2. pert计算公式期望值_PERT网络分析法
  3. Struts2的拦截器
  4. 移动硬盘/U盘上装Windows 7旗舰版(VHD版)
  5. 服务器带的虚拟软驱有什么用,云服务器是干什么用的?摩杜云带你去了解!
  6. 对联广告php代码,css实现的对联广告代码
  7. 做了一个电驴 p2p资源搜索小软件
  8. 逐浪海棠居刻本字-第一款基于unicode13标准构建的中文字库全面发布
  9. 【数值计算】计算机中的数值计算
  10. promise兼容性问题