1,爬取网站新房内容

from bs4 import BeautifulSoup
import requests
import time
import pandas as pdheaders = {'User-Agent': 'Mozilla/5.0 (compatible; MSIE 10.0; \Windows NT 6.1; WOW64;Trident/6.0; SLCC2;.NET CLR 2.0.50727; .NET CLR 3.5.30729;\.NET CLR 3.0.30729; InfoPath.3; .NET4.0C; .NET4.0E)','Accept': 'image/webp,image/*,*/*;q=0.8','Accept-Encoding': 'gzip, deflate','Referer': 'http://www.baidu.com/link?\url=_andhfsjjjKRgEWkj7i9cFmYYGsisrnm2A-TN3XZDQXxvGsM9k9ZZSnikW2Yds4s&wd=&amp\;amp;eqid=c3435a7d00006bd600000003582bfd1f','Connection': 'keep-alive'}
page = ('pg')def generate_cityurl(user_in_city,region):  # 生成urlcityurl = 'https://' + user_in_city + '.lianjia.com/loupan/' + region + '/#' + regionreturn cityurl# return demjson.encode(res)"""d = json.loads(res.read().decode()).get('data')if d is None:print("城市首页加载完成")return """def areainfo(url):page = ('pg')for i in range(1, 21):  # 获取1-20页的数据if i == 1:i = str(i)a = (url + page + i + '/')r = requests.get(url=a, headers=headers)print(a)htmlinfo = r.contentelse:i = str(i)a = (url + page + i + '/')print(a)r = requests.get(url=a, headers=headers)html2 = r.contenthtmlinfo = htmlinfo + html2time.sleep(0.5)return htmlinfohlist = []def listinfo(listhtml):areasoup = BeautifulSoup(listhtml, 'html.parser')ljhouse = areasoup.find_all('div', attrs={'class': 'resblock-desc-wrapper'})for house in ljhouse:loupantitle = house.find("div", attrs={"class": "resblock-name"})loupanname = loupantitle.a.get_text()loupantag = loupantitle.find_all("span")wuye = loupantag[0].get_text()xiaoshouzhuangtai = loupantag[1].get_text()location = house.find("div", attrs={"class": "resblock-location"}).get_text()jishi = house.find("a", attrs={"class": "resblock-room"}).get_text()area = house.find("div", attrs={"class": "resblock-area"}).get_text()tag = house.find("div", attrs={"class": "resblock-tag"}).get_text()jiage = house.find("div", attrs={"class": "resblock-price"})price = jiage.find("div", attrs={"class": "main-price"}).get_text()total = jiage.find("div", attrs={"class": "second"})totalprice = "暂无"if total is not None:totalprice = total.get_text()h = {'title': loupanname, 'wuye': wuye, 'xiaoshouzhuangtai': xiaoshouzhuangtai, 'location': location.replace("\n", ""),'jishi': jishi.replace("\n", ""), 'area': area, 'tag': tag, 'price': price,'totalprice': totalprice};hlist.append(h)if __name__ == '__main__':user_in_city = input('输入抓取城市(简称,如:成都,就输入:cd.):')region = input('请输入区域(全拼):')url = generate_cityurl(user_in_city,region)print(url)hlist.append({'title': "楼盘名称", 'wuye': "物业类型", 'xiaoshouzhuangtai': "销售状态", 'location': "位置",'jishi': "房型", 'area': "面积", 'tag': "标签", 'price': "单价",'totalprice': "总价"})areahtml = areainfo(url)listinfo(areahtml)houseinfo = pd.DataFrame(hlist,columns=['title', 'wuye', 'xiaoshouzhuangtai', 'location','jishi', 'area', 'tag', 'price','totalprice'])houseinfo.to_csv('./链家自定义新房.csv', index=False, encoding="utf_8_sig")

1.1 结果

2, 生成信息对比图

import csv
import matplotlib.pyplot as plt
import numpy as np
csvfile = csv.reader(open('链家自定义新房.csv', 'r',encoding = 'UTF-8'))#打开CSV文件
print(csvfile)
data=[]
n = 0
blist = []
dict = {}
for xinfang in csvfile:#遍历CSV文件存入列表data.append(xinfang)
#print(data[2][1])#print(len(data))
#print(data[1][1])for n in range(2,len(data)):#提取类型存入列表blist.append(data[n][1])
#print(blist)
for key in blist:#统计不同类型个数,存入字典dict[key] = dict.get(key,0) + 1
print(dict)
values = list(dict.values())#获取字典values
#print(values)#生成区域房型对比图
plt.bar(range(len(values)),values)
x = range(0,6)
plt.xticks(x,('xiezilou','shangye','dishang','zhucha','shangye'))
plt.title('Comparison of Room Types in Nearby Areas')
plt.show()

Python 爬取链家新房 并生成物业类型对比图相关推荐

  1. python爬取链家新房_Python爬虫项目--爬取链家热门城市新房

    本次实战是利用爬虫爬取链家的新房(声明: 内容仅用于学习交流, 请勿用作商业用途) 环境 win8, python 3.7, pycharm 正文 1. 目标网站分析 通过分析, 找出相关url, 确 ...

  2. python爬取链家新房_Python爬虫实战:爬取链家网二手房数据

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理. 买房装修,是每个人都要经历的重要事情之一.相对于新房交易市场来说,如今的二手房交易市场一点也 ...

  3. python爬取链家新房数据_Python爬虫实战:爬取链家网二手房数据

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理. 买房装修,是每个人都要经历的重要事情之一.相对于新房交易市场来说,如今的二手房交易市场一点也 ...

  4. python爬取链家新房数据

    没有搜索到关于python爬虫,所以自己写一个 from bs4 import BeautifulSoup import requests import time import pandas as p ...

  5. python爬房源信息_用python爬取链家网的二手房信息

    题外话:这几天用python做题,算是有头有尾地完成了.这两天会抽空把我的思路和方法,还有代码贴出来,供python的初学者参考.我python的实战经历不多,所以代码也是简单易懂的那种.当然过程中还 ...

  6. python关于二手房的课程论文_基于python爬取链家二手房信息代码示例

    基本环境配置 python 3.6 pycharm requests parsel time 相关模块pip安装即可 确定目标网页数据 哦豁,这个价格..................看到都觉得脑阔 ...

  7. python爬取链家网的房屋数据

    python爬取链家网的房屋数据 爬取内容 爬取源网站 爬取内容 爬取思路 爬取的数据 代码 获取房屋url 获取房屋具体信息 爬取内容 爬取源网站 北京二手房 https://bj.lianjia. ...

  8. python 爬取链家数据_用python爬取链家网的二手房信息

    题外话:这几天用python做题,算是有头有尾地完成了.这两天会抽空把我的思路和方法,还有代码贴出来,供python的初学者参考.我python的实战经历不多,所以代码也是简单易懂的那种.当然过程中还 ...

  9. Python爬取链家成都二手房源信息

    作者 | 旧时晚风拂晓城 编辑 | JackTian 来源 | 杰哥的IT之旅(ID:Jake_Internet) 转载请联系授权(微信ID:Hc220066) 公众号后台回复:「成都二手房数据」,获 ...

最新文章

  1. 搭建OpenStack中的glance报错 403 503
  2. UDP调用connect函数
  3. SpringBoot添加JSP支持
  4. ITK:轮廓空间对象
  5. 使用SpringBoot Admin监控SpringCloud微服务
  6. cacti+nagios 整合遇到的问题
  7. 普通的PHP上传到云函数,php封装上传函数代码示例
  8. linux实现访问自动挂载
  9. Java读带有BOM的UTF-8文件乱码原因及解决方法(转)
  10. 计算机硬盘是通用的吗,通用账务系统安装到计算机硬盘前需要进行的准备工作有()。A.清理硬盘B.校准计算机系统时间C.重设C - 作业在线问答...
  11. PMC 任命Edward Sharp为首席战略及技术官
  12. VS2019C++编译GDAL3.3.2+SQLite3+PROJ6+GEOS3.7.3+HDF4+HDF5(保姆级教程)
  13. 华为性格测试题目讲解
  14. 微信标题特殊符号大全 ✔
  15. AndroidStudio|读取SD卡中的sqlite数据
  16. JavaScript/Js 大全
  17. pb9 日历控件(源码)
  18. X-Space系列进阶教程七之703N 740N 710N 720N 串口辅助刷机,救砖(转载)
  19. 取消Outlook脱机工作
  20. Java SSM毕设 公寓宿舍后勤管理系统(含源码+论文)

热门文章

  1. c语言怎么生成随机的mac,使用C语言生成随机MAC地址
  2. 旋转样式文本动画PR标题字幕模板MOGRT
  3. uni-app获取上层路由的方法
  4. GitHub+Git
  5. CES 2023:BOE京东方“屏实力”引领“屏之物联”新视界
  6. 小区门禁MATLAB的指纹识别仿真
  7. 美国高速公路信号灯控制项目的大致逻辑和步骤 智慧公路设计
  8. 医院里医生给医生看病的业务建模
  9. 全国计算机二级证书有必要考吗,有必要考计算机二级证书吗
  10. Cadence Allegro如何设置快捷键(很重要)