最近挤时间了解了一下python。“纸上谈兵终觉浅 绝知此事要躬行”,只有实际操作才能加深印象。这里参考这篇:https://www.cnblogs.com/gkf0103/p/7689600.html 进行实际操作并进行部分修改。记录一下。

from bs4 import BeautifulSoup       #beautifulsoup4库使用时是简写的bs4
import requestsheader={
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.162 Safari/537.36'
}def get_page(url):try:
#        url = 'https://weifang.anjuke.com/sale/'#reponse = requests.get(url, timeout = 30)response = requests.get(url, timeout = 30, headers=header)# 如果状态码不是200 则应发HTTOError异常response.raise_for_status()# 设置正确的编码方式response.encoding = response.apparent_encodingsoup = BeautifulSoup(response.text, 'html.parser')#当前页房源链接爬取result_li = soup.find_all('li', {'class': 'list-item'})# 下一页的爬取result_next_page = soup.find_all('a', {'class': 'aNxt'})j = 0#处理当前页面房源链接for i in result_li:#            这里每个列表页只处理前4个房源链接,是为了家加快调试j = j + 1if j > 4:breakprint('-------------------------------')# 由于BeautifulSoup传入的必须为字符串,所以进行转换page_url = str(i)soup = BeautifulSoup(page_url, 'html.parser')# 由于通过class解析的为一个列表,所以只需要第一个参数#    result_href = soup.find_all('a', {'class': 'houseListTitle'})#    print(result_href)   #    print('**************')result_href = soup.find_all('a', {'class': 'houseListTitle'})[0]#            print(result_href.attrs['href'])get_page_detail(result_href.attrs['href'])#处理下一页链接print('+++++++++++++++++++++++++++++')if len(result_next_page) != 0:print(result_next_page[0].attrs['href'])# 函数进行递归get_page(result_next_page[0].attrs['href'])            else:print('没有下一页了')#        return response.textexcept:return '产生异常!'#进行字符串中空格,换行,tab键的替换及删除字符串两边的空格删除
def my_strip(s):return str(s).replace(" ", "").replace("\n", "").replace("\t", "").strip()
#由于频繁进行BeautifulSoup的使用,封装一下
def my_Beautifulsoup(response):return BeautifulSoup(str(response), 'html.parser')# 详细页面的爬取
def get_page_detail(url):response = requests.get(url, headers=header)if response.status_code == 200:soup = BeautifulSoup(response.text, 'html.parser')# 标题result_title = soup.find_all('h3', {'class': 'long-title'})[0]#编码与发布日期result_date = soup.find_all('span', {'class': 'house-encode'})[0]print('标题:', my_strip(result_title.text))print('编码与发布日期:', my_strip(result_date.text))#第一列-----------------------------------result_house_1 = soup.find_all('div', {'class': 'first-col detail-col'})soup_1 = my_Beautifulsoup(result_house_1)#处理类似表格这种数据,每列包含好多行,感觉用这种方式比较方便result_xiaoqu = soup_1.find_all('dd')[0]print('所属小区:', my_strip(result_xiaoqu.text))result_weizhi_a = soup_1.find_all('dd')[1]result_weizhi_b = result_weizhi_a.find_all('p', {'class': 'loc-text'})[0]print('所在位置:', my_strip(result_weizhi_b.text))        result_year = soup_1.find_all('dd')[2]print('建造年代:', my_strip(result_year.text))     result_type = soup_1.find_all('dd')[3]print('房屋类型:', my_strip(result_type.text))  #第三列-----------------------------------result_house_3 = soup.find_all('div', {'class': 'third-col detail-col'})soup_3 = my_Beautifulsoup(result_house_3)result_danjia = soup_3.find_all('dd')[0]print('单价:', my_strip(result_danjia.text))        # =============================================================================
# #        小区
# #        result_xiaoqu = soup.find_all('a', {'_soj': 'propview'})[0]
# #        所在位置
# #        result_weizhi = soup.find_all('a', {'_soj': 'propview'})[0]
# #        小区
# #        result_weizhi1 = soup.find_all('a', {'_soj': 'propview'})[1]
# #        result_weizhi2 = soup.find_all('a', {'_soj': 'propview'})[2]
#         result_weizhitext = soup.find_all('p', {'class': 'loc-text'})[0]
# #        print('小区:', my_strip(result_xiaoqu.text))
# #        print('位置:', my_strip(result_weizhi1.text), my_strip(result_weizhi2.text), my_strip(result_weizhitext.text))
#         print('位置:', my_strip(result_weizhitext.text))
#
# #        建造年代
#         result_year = soup.find_all('h3', {'class': 'long-title'})[0]
#
#
#         print('建造年代:')
#         print('房屋类型:')
# =============================================================================get_page('https://beijing.anjuke.com/sale/')

读取的结果:

-------------------------------
标题: 王.府公寓独栋新装修报价1300万看房提前约一套
编码与发布日期: 房屋编码:1299230152,发布时间:2018年06月27日
所属小区: 王府园中园
所在位置: 昌平-北七家-北清路
建造年代: 2007年
房屋类型: 别墅
单价: 60185元/m²
-------------------------------
标题: 紫芳园三区观景三居室,单价低,采光好,落地窗,环境优美
编码与发布日期: 房屋编码:1300843076,发布时间:2018年06月28日
所属小区: 紫芳园三区
所在位置: 丰台-方庄-紫芳路
建造年代: 2008年
房屋类型: 普通住宅
单价: 76884元/m²
-------------------------------
标题: (优选)北京周边路劲阳光城一手房,五证齐全南北三居外地人可买
编码与发布日期: 房屋编码:1289332464,发布时间:2018年06月20日
所属小区: 燕达首尔国际村
所在位置: 北京周边-燕郊-燕顺路,近京秦高速
建造年代: 2015年
房屋类型: 普通住宅
单价: 15744元/m²
-------------------------------
标题: 三真新出新出东方瑞景南北通透金角位户型方正
编码与发布日期: 房屋编码:1283402682,发布时间:2018年06月15日
所属小区: 东方瑞景
所在位置: 朝阳-建国门外-建国门外大街16号
建造年代: 2004年
房屋类型: 普通住宅
单价: 80808元/m²
+++++++++++++++++++++++++++++
https://beijing.anjuke.com/sale/p37/#filtersort
-------------------------------
标题: 富力又一城新上房源全明格局南北通透双卫大两居
编码与发布日期: 房屋编码:1280645118,发布时间:2018年06月13日
所属小区: 富力又一城B区
所在位置: 朝阳-豆各庄-大鲁店北路
建造年代: 2007年
房屋类型: 普通住宅
单价: 49132元/m²
-------------------------------
标题: 九州新上正规H户型大两居精装修低总价低楼层全天采光
编码与发布日期: 房屋编码:1296682568,发布时间:2018年06月25日
所属小区: 育新花园南里
所在位置: 大兴-大兴区其他-育仁街1号
建造年代: 2012年
房屋类型: 普通住宅
单价: 23636元/m²
-------------------------------
标题: 税费少金融街花园式小区西城晶华精装修两居室出售
编码与发布日期: 房屋编码:1288739542,发布时间:2018年06月19日
所属小区: 西城晶华
所在位置: 西城-金融街-太平桥大街8号
建造年代: 2008年
房屋类型: 公寓
单价: 161458元/m²
-------------------------------
标题: 西一区假南北三居两居价格买三居明厨明卫有钥匙欢迎品鉴
编码与发布日期: 房屋编码:1239451019,发布时间:2018年05月19日
所属小区: 天通苑西一区
所在位置: 昌平-天通苑-立汤路
建造年代: 2001年
房屋类型: 普通住宅
单价: 36048元/m²
+++++++++++++++++++++++++++++
https://beijing.anjuke.com/sale/p38/#filtersort
-------------------------------
标题: CBD核心区精致两居一梯两户公摊小通风好房本满五年
编码与发布日期: 房屋编码:1208556407,发布时间:2018年04月30日
所属小区: 中上园5号院
所在位置: 通州-新华大街-上香胡同
建造年代: 2001年
房屋类型: 普通住宅
单价: 50142元/m²
-------------------------------
标题: 永定门华龙美晟2010年三居室满五年一套商品房看房随时
编码与发布日期: 房屋编码:1304421878,发布时间:2018年06月30日
所属小区: 华龙美晟
所在位置: 东城-永定门-沙子口路甲48号
建造年代: 2010年
房屋类型: 普通住宅
单价: 76594元/m²
-------------------------------
标题: C21星河湾畅园顶层挑高南北通透给周期双卧朝南八角窗
编码与发布日期: 房屋编码:1248218072,发布时间:2018年05月23日
所属小区: 畅园(星河湾)
所在位置: 朝阳-朝青-四季星河中街2号
建造年代: 2008年
房屋类型: 普通住宅
单价: 90614元/m²
-------------------------------
标题: 富力尚悦居精装两居西南朝向朝小区随时看房
编码与发布日期: 房屋编码:1290157217,发布时间:2018年06月20日
所属小区: 富力尚悦居
所在位置: 通州-马驹桥-兴贸二街
建造年代: 2015年
房屋类型: 普通住宅
单价: 39411元/m²
+++++++++++++++++++++++++++++
https://beijing.anjuke.com/sale/p39/#filtersort
-------------------------------
标题: 《优选》首尔甜城外地人可买近学校近地铁领包入住
编码与发布日期: 房屋编码:1270919780,发布时间:2018年06月06日
所属小区: 燕达首尔国际村
所在位置: 北京周边-燕郊-燕顺路,近京秦高速
建造年代: 2015年
房屋类型: 普通住宅
单价: 13970元/m²
-------------------------------
标题: 7号线沿线阿尔法一层带花园三居室三面采光精装修
编码与发布日期: 房屋编码:1287946996,发布时间:2018年06月18日
所属小区: 阿尔法社区C区
所在位置: 通州-九棵树-万盛中一街
建造年代: 2009年
房屋类型: 普通住宅
单价: 54538元/m²
-------------------------------
标题: 中.原清河上地橡树湾三期南北四居室税费低急售房
编码与发布日期: 房屋编码:1314178260,发布时间:2018年07月07日
所属小区: 橡树湾三期
所在位置: 海淀-清河-学府树中街,近朱房路
建造年代: 2012年
房屋类型: 普通住宅
单价: 88467元/m²
-------------------------------
标题: 业主急售,近期必卖南向一居。满五V一。品质小区
编码与发布日期: 房屋编码:1295328768,发布时间:2018年06月24日
所属小区: 芍药居北里小区
所在位置: 朝阳-芍药居-北四环东路
建造年代: 1996年
房屋类型: 普通住宅
单价: 94922元/m²
+++++++++++++++++++++++++++++
https://beijing.anjuke.com/sale/p40/#filtersort
-------------------------------
标题: 蓝岸丽舍1000平米花园全明格局动静分区顺义马坡
编码与发布日期: 房屋编码:1310472899,发布时间:2018年07月05日
所属小区: 蓝岸丽舍
所在位置: 顺义-顺义城-左堤路
建造年代: 2008年
房屋类型: 别墅
单价: 33057元/m²
-------------------------------
标题: 南四区无税急售紧邻水库白银楼层好房不等人!!!
编码与发布日期: 房屋编码:1308596291,发布时间:2018年07月04日
所属小区: 南华园四区
所在位置: 怀柔-怀柔-南华大街
建造年代: 2000年
房屋类型: 普通住宅
单价: 29174元/m²
-------------------------------
标题: 2150万南北大四居,品质社区
编码与发布日期: 房屋编码:1299310283,发布时间:2018年06月27日
所属小区: 融华世家
所在位置: 朝阳-亚运村小营-小营北路
建造年代: 2012年
房屋类型: 普通住宅
单价: 94929元/m²
-------------------------------
标题: 月初特惠,订房立减200万,花园面积400平米,纯独栋社区
编码与发布日期: 房屋编码:1286273712,发布时间:2018年06月17日
所属小区: 凯德麓语
所在位置: 昌平-兴寿镇-怀昌路
建造年代: 2018年
房屋类型: 别墅
单价: 36333元/m²
+++++++++++++++++++++++++++++
https://beijing.anjuke.com/sale/p41/#filtersort
+++++++++++++++++++++++++++++
没有下一页了

python学习:爬取房源信息相关推荐

  1. python爬虫爬取房源信息

      目录 一.数据获取与预处理 二.csv文件的保存 三.数据库存储 四.爬虫完整代码 五.数据库存储完整代码 写这篇博客的原因是在我爬取房产这类数据信息的时候,发现csdn中好多博主写的关于此类的文 ...

  2. python 学习 爬取证券之星的股票信息

    python 学习 爬取证券之星的股票信息 选择原因,数据好获取,便于操作! 第一步,找到股票相关的信息,先去东方财富网,找到股票的代码查询一览表网站 ![在这里插入图片描述](https://img ...

  3. Python 分布式爬取 InfoQ 信息

    Python 分布式爬取 InfoQ 信息 完整代码下载:https://github.com/tanjunchen/SpiderProject/tree/master/InfoQ #!/usr/bi ...

  4. 用python爬虫爬取微博信息

    用python爬虫爬取微博信息 话不多说,直接上代码! import requests from bs4 import BeautifulSoup from urllib import parse i ...

  5. Python简单爬取图书信息及入库

    课堂上老师布置了一个作业,如下图所示: 就是简单写一个借书系统. 大概想了一下流程,登录-->验证登录信息-->登录成功跳转借书界面-->可查看自己的借阅书籍以及数量... 登录可以 ...

  6. 2.0 案例2:爬取房源信息以及分析房价

    课前说明:本章节请求的 url 部分用 ** 代替 本章节需要掌握的知识点: 1.如何用 xpath 解析数据: 2.如何用 csv 存储数据(注:由于字典是无序的,所以写入csv时,表头可能跟内容搭 ...

  7. python爬虫爬取房源_python爬虫爬取安居客房源信息

    Xpath插件的安装 链接:https://pan.baidu.com/s/1T3V11Ev8dPODa2fCRbeuCg 提取码:qvzf 将这个安装包解压缩 打开谷歌浏览器的扩展程序 ----&g ...

  8. 学习 Python 爬虫,手把手通过 Python 入门爬取网页信息

    Python 爬虫是什么? 我们在网络上收集资料的过程其实就称之为爬虫(web scraping).复制粘贴歌词.摘抄文本或数据都可以算作爬虫的一部分,但网络编程背景下的爬虫,更强调自动化,通过 Py ...

  9. python爬虫爬取房源_Python爬虫项目--爬取自如网房源信息

    本次爬取自如网房源信息所用到的知识点: 1. requests get请求 2. lxml解析html 3. Xpath 4. MongoDB存储 正文 1.分析目标站点 1. url: http:/ ...

最新文章

  1. Ubuntu 16.04开机自动开启数字键盘NumLock
  2. android r 新建分区_Android实现从下往上弹出视差效果(Activity)
  3. @mapperscan mapper还是无法引用_高能来了!Java的四大引用
  4. ubuntu中,txt导入mysql数据库文件
  5. 使用Servlet实现用户注册
  6. RabbitMQ 镜像集群队列_集群高可用篇_03
  7. 【bzoj3991】[SDOI2015]寻宝游戏 树链的并+STL-set
  8. Elasticsearch-head插件的安装与使用
  9. mysql删除端口配置文件_完美解决phpstudy安装后mysql无法启动(无需删除原数据库,无需更改任何配置,无需更改端口)直接共存...
  10. 如何把Access中数据导入Mysql中 (转)
  11. 计算机性能怎么测试软件,如何测试电脑性能|检测电脑性能的方法
  12. PCB的走线电阻的计算方法
  13. 动态域名解析ipv6 群辉dnspod_群晖设置ipv6动态域名
  14. 给定一个数组,求数组的最大连续子数组,使得该子数组的和最大
  15. 计算机视觉论文-2021-07-19
  16. node.js学习笔记Day2
  17. R 填充数据集中的缺失值
  18. 关于绝地求生某辅助白名单画中画逆向分析
  19. ajax type是get请求,jQuery的Ajax请求数据时type无法使用GET
  20. 【用例】研究生招生报名管理系统设计

热门文章

  1. 什么是软件服务化(SaaS)
  2. 我所经历的一次社会无赖中介的大考验,仅此记录,以介。(北京朝阳区黑中介杨沫)
  3. 黑中介北京链家,收了中介费,不给你服务
  4. Jest 常用匹配器
  5. browser html page iconic show error : 瀏覽器html頁面小圖標按鈕出現錯誤
  6. 基于学术研究下载NOAA探空数据资料的详细步骤
  7. 中兴通讯:控股股东中兴新持股比例低于30%
  8. 【学习笔记】商业数据分析
  9. ribbon基于接口配置超时_feign的ribbon超时配置和hystrix的超时配置说明
  10. 电容笔适用所有平板吗?值得推荐电容笔排行