python链家二手房_python 爬取链家二手房信息
'''Created on 2017-10-9
@author: wbhuangzhiqiang'''
importsysimportreimportcsvimporturllib.requestfrom bs4 importBeautifulSoup#成功打开页面时返回页面对象,否则打印错误信息,退出程序
defget_bsobj(url):
page=urllib.request.urlopen(url)if page.getcode() == 200:
html=page.read()
bsobj= BeautifulSoup(html, "html5lib")returnbsobjelse:print ("页面错误")
sys.exit()defget_house_info_list(url):
house_info_list=[]
bsobj=get_bsobj(url)if notbsobj:returnNone#获取页数
globalhouse_info_page
house_page= bsobj.find("a", {"gahref":"results_totalpage"})
house_info_page=int(house_page.get_text())#print(house_info_page)
house_list = bsobj.find_all("div", {"class":"info"})for house inhouse_list:#title = house.find("div", {"class": "prop-title"}).get_text().split("|")
#获取信息数据(例:加怡名城 | 2室1厅 | 62.48平米 | 西 | 精装),通过“|”符号分割字符串
info = house.find("span", {"class": "info-col row1-text"}).get_text().split("|")#print("==========1====")
info2 = house.find("span", {"class": "info-col row2-text"}).get_text().split("|")#print("==========2====")
#print(info2)
#print("==========2====")
#print(info2)
#print("==========2====")
minor = house.find("span", {"class": "info-col price-item minor"}).get_text().strip()#小区(例:加怡名城),strip()去除字符串两边的空格,encode,将字符串编码成 utf-8 格式
block = info2[1].strip()+info2[2].strip()+info2[0].strip()if len(info2)>3:
naidai= info2[3].strip()else:
naidai='未知'
#房型
house_type =info[0].strip()#面积
size =info[1].strip()
price_sz= house.find("span", {"class": "total-price strong-num"}).get_text()
price_dw= house.find("span", {"class": "unit"}).get_text()
price=price_sz+price_dw#print(price)
house_info_list.append({'房型':house_type,'面积':size,'价格':price,'房屋位置':block,'年代':naidai,'单价':minor})#print('**********************')
#print(house_info_list)
#print(len(house_info_list))
returnhouse_info_list#读取前100个页面的房屋信息,将信息保存到 house.csv 文件中
defhouse_mess(url):
house_info_list=[]
get_house_info_list(url)if house_info_page>20:for i in range(0,21):
new_url= url +'/d'+str(i)
house_info_list.extend(get_house_info_list(new_url))#print(new_url)
#print(house_info_list)
#print("****************house_info_list*********************")
#print(house_info_list)
ifhouse_info_list:#将数据保存到 house.csv 文件中
with open("./house.csv", "w",newline='') as f:#writer 对象
writer =csv.writer(f)
fieldnames=house_info_list[0].keys()
writer.writerow(fieldnames)for house_info inhouse_info_list:#print('&&&&&&&&&&&&&&&&&&&&&&&')
#print(house_info)
writer.writerow(house_info.values())#house_mess('http://sh.lianjia.com/ershoufang/minhang')
python链家二手房_python 爬取链家二手房信息相关推荐
- python二手车价格预测_Python爬取17w条二手车信息,带你揭秘保值率
大家对于"保值率"这个词肯定是如数家珍,它是指一款车型使用一段时间后,出售价格与购入价格的比值,是反映汽车性价比的重要部分.相比较于外观.内饰甚至动力表现,一辆车的可靠性.用车成本 ...
- Python按照你的检索爬取天津大学图书馆书籍信息
Python按照你的检索爬取天津大学图书馆书籍信息 爬取步骤 网页解析 代码 完全自己手写的代码,入门级水平把.对于静态HTML网页爬取来说相对简单,现在对于动态编写JavaScript还不知道如何处 ...
- python爬取房源数据_python爬取安居客二手房网站数据(实例讲解)
是小打小闹 哈哈,现在开始正式进行爬虫书写首先,需要分析一下要爬取的网站的结构:作为一名河南的学生,那就看看郑州的二手房信息吧! 在上面这个页面中,我们可以看到一条条的房源信息,从中我们发现了什么,发 ...
- python微博爬虫分析_python爬取和分析新浪微博(一):scrapy构建新浪微博榜单、博主及微博信息爬虫...
1. 爬虫项目介绍 爬虫首先基于python scrapy 框架,使用了随机用户代理和IP代理等反爬技巧,将爬取到的微博领域数据,各领域榜单博主信息和博主的微博信息分别存入的mysql数据库对应的表格 ...
- python爬取个人信息_Python爬取个人微信朋友信息操作示例
本文实例讲述了Python爬取个人微信朋友信息操作.分享给大家供大家参考,具体如下: 利用Python的itchat包爬取个人微信号的朋友信息,并将信息保存在本地文本中 思路要点: 1.利用itcha ...
- python爬取电子书_python爬取 “得到” App 电子书信息
前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者: 静觅 崔庆才 PS:如有需要Python学习资料的小伙伴可以加点击下 ...
- python爬考研_python爬取考研网的信息
今天我们使用python来爬取考研网站的信息. 目标网站: https://yz.chsi.com.cn/zsml/queryAction.do 使用的库: requests,bs4,pandas 这 ...
- python微信点赞脚本_Python爬取微信公众号评论、点赞等相关信息
微信公众号爬虫方案分析(爬取文艺相处公众号) 之前考虑过使用搜狗微信来爬取微信公众号信息,不过搜狗提供的数据有诸多弊端,比如文章链接是临时的,文章没有阅读量等指标,所以考虑通过手机客户端利用 Pyth ...
- python基金筛选_Python爬取基金的排名信息,写入excel中方便挑选基金
原标题:Python爬取基金的排名信息,写入excel中方便挑选基金 基金是一种很好的理财方式,利用pyhton根据以往的跌幅情况进行基金选择,是一种很可靠的选择方式.本文以债券基金(稳定且风险较低) ...
最新文章
- React 开始制作 6
- springboot 自动装配_Java互联网架构-SpringBoot自动装配核心源码剖析
- 修改sqlarchemy源码使其支持jdbc连接mysql
- ftp 上传文件夹_ftp工具哪个好?Viper FTP for Mac激活版带给大家
- cdr你的产品已禁用_Coreldraw提示已安装另一版本导致安装失败的解决办法
- 电够动力足——认识主板上的CPU供电模块
- 斯坦福22岁辍学少年的独角兽野心:准备颠覆硅基无人车激光雷达
- Perl爬虫的简单实现
- 拓端tecdat|R语言用多重插补法估算相对风险
- iphone型号表_iPhone手机型号信息大全 (最新)
- 递归算法实例:阶乘(vb.net代码)
- CS领域论文数据分析
- 【LaTex】 Font “FandolSong-Regular“ does not contain requested(fontspec)Script “CJK“.如何抑制此种警告?
- 风险评估资产重要性识别_基于数据安全的风险评估(一):数据资产识别、脆弱性识别...
- ballerina 学习 三十二 编写安全的程序
- 为什么要配置环境变量以及配置环境变量的步骤
- 2个免费CAJ转PDF的方法,而且不限页数和大小
- Ubuntu 20.04切换软件源为清华源
- Socket 通信中read方法阻塞接收的问题
- 政务数据共享开放的意义?
热门文章
- iPhone开发——UIViewContoller subclass
- 在新学期,立新规划!
- 每日一题:22. 仅仅反转字母 (C++)
- 日程安排小程序实战教程(上篇)
- ieee 802.1
- 什么是CSM(Certified Scrum Master) 敏捷认证
- Windows XP 的共享问题!
- 双网卡同时上网如何设置 双网卡同时上内外网络
- mcinabox运行库下载_MCinaBox运行库下载-MCinaBox启动器官网版下载v0.1.3- 游侠下载站...
- CSS 实现父组件半透明,子组件不透明