'''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 爬取链家二手房信息相关推荐

  1. python二手车价格预测_Python爬取17w条二手车信息,带你揭秘保值率

    大家对于"保值率"这个词肯定是如数家珍,它是指一款车型使用一段时间后,出售价格与购入价格的比值,是反映汽车性价比的重要部分.相比较于外观.内饰甚至动力表现,一辆车的可靠性.用车成本 ...

  2. Python按照你的检索爬取天津大学图书馆书籍信息

    Python按照你的检索爬取天津大学图书馆书籍信息 爬取步骤 网页解析 代码 完全自己手写的代码,入门级水平把.对于静态HTML网页爬取来说相对简单,现在对于动态编写JavaScript还不知道如何处 ...

  3. python爬取房源数据_python爬取安居客二手房网站数据(实例讲解)

    是小打小闹 哈哈,现在开始正式进行爬虫书写首先,需要分析一下要爬取的网站的结构:作为一名河南的学生,那就看看郑州的二手房信息吧! 在上面这个页面中,我们可以看到一条条的房源信息,从中我们发现了什么,发 ...

  4. python微博爬虫分析_python爬取和分析新浪微博(一):scrapy构建新浪微博榜单、博主及微博信息爬虫...

    1. 爬虫项目介绍 爬虫首先基于python scrapy 框架,使用了随机用户代理和IP代理等反爬技巧,将爬取到的微博领域数据,各领域榜单博主信息和博主的微博信息分别存入的mysql数据库对应的表格 ...

  5. python爬取个人信息_Python爬取个人微信朋友信息操作示例

    本文实例讲述了Python爬取个人微信朋友信息操作.分享给大家供大家参考,具体如下: 利用Python的itchat包爬取个人微信号的朋友信息,并将信息保存在本地文本中 思路要点: 1.利用itcha ...

  6. python爬取电子书_python爬取 “得到” App 电子书信息

    前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者: 静觅 崔庆才 PS:如有需要Python学习资料的小伙伴可以加点击下 ...

  7. python爬考研_python爬取考研网的信息

    今天我们使用python来爬取考研网站的信息. 目标网站: https://yz.chsi.com.cn/zsml/queryAction.do 使用的库: requests,bs4,pandas 这 ...

  8. python微信点赞脚本_Python爬取微信公众号评论、点赞等相关信息

    微信公众号爬虫方案分析(爬取文艺相处公众号) 之前考虑过使用搜狗微信来爬取微信公众号信息,不过搜狗提供的数据有诸多弊端,比如文章链接是临时的,文章没有阅读量等指标,所以考虑通过手机客户端利用 Pyth ...

  9. python基金筛选_Python爬取基金的排名信息,写入excel中方便挑选基金

    原标题:Python爬取基金的排名信息,写入excel中方便挑选基金 基金是一种很好的理财方式,利用pyhton根据以往的跌幅情况进行基金选择,是一种很可靠的选择方式.本文以债券基金(稳定且风险较低) ...

最新文章

  1. React 开始制作 6
  2. springboot 自动装配_Java互联网架构-SpringBoot自动装配核心源码剖析
  3. 修改sqlarchemy源码使其支持jdbc连接mysql
  4. ftp 上传文件夹_ftp工具哪个好?Viper FTP for Mac激活版带给大家
  5. cdr你的产品已禁用_Coreldraw提示已安装另一版本导致安装失败的解决办法
  6. 电够动力足——认识主板上的CPU供电模块
  7. 斯坦福22岁辍学少年的独角兽野心:准备颠覆硅基无人车激光雷达
  8. Perl爬虫的简单实现
  9. 拓端tecdat|R语言用多重插补法估算相对风险
  10. iphone型号表_iPhone手机型号信息大全 (最新)
  11. 递归算法实例:阶乘(vb.net代码)
  12. CS领域论文数据分析
  13. 【LaTex】 Font “FandolSong-Regular“ does not contain requested(fontspec)Script “CJK“.如何抑制此种警告?
  14. 风险评估资产重要性识别_基于数据安全的风险评估(一):数据资产识别、脆弱性识别...
  15. ballerina 学习 三十二 编写安全的程序
  16. 为什么要配置环境变量以及配置环境变量的步骤
  17. 2个免费CAJ转PDF的方法,而且不限页数和大小
  18. Ubuntu 20.04切换软件源为清华源
  19. Socket 通信中read方法阻塞接收的问题
  20. 政务数据共享开放的意义?

热门文章

  1. iPhone开发——UIViewContoller subclass
  2. 在新学期,立新规划!
  3. 每日一题:22. 仅仅反转字母 (C++)
  4. 日程安排小程序实战教程(上篇)
  5. ieee 802.1
  6. 什么是CSM(Certified Scrum Master) 敏捷认证
  7. Windows XP 的共享问题!
  8. 双网卡同时上网如何设置 双网卡同时上内外网络
  9. mcinabox运行库下载_MCinaBox运行库下载-MCinaBox启动器官网版下载v0.1.3- 游侠下载站...
  10. CSS 实现父组件半透明,子组件不透明