思路:

step 1:爬取单个详情页的信息(getInfo(url)函数)

step 2:在一个列表页爬取所有详情页的链接,再调用getInfo(url)函数,得到该列表页中所有详情页的信息(onePageInfo(list_url)函数)

step 3:通过观察每个列表页网址,发现网址组成规律,调用onePageInfo(list_url)爬取信息

难点:

判断房东性别

结果展示:

总结:

房东性别通过房东图片右下角的小图片来判断,小图片class属性能区分男女,存在的问题是有些房东没设置性别,无法判断,这里默认为男性。通过字符串format()方法嵌套if-else实现

发现得到的address后面跟了\n和一段空格,这里用字符串rstrip()方法去除

房间图片的属性为style,这里用列表切片得到需要信息

列表推导式:

urls = ['{}'.format(str(i)) for i in range(1,8)] 正确

urls = ['{}'.format(str(i) for i in range(1,8))] 错误

我的代码:

frombs4importBeautifulSoup

importrequests

#获得单个详情页的信息

defgetInfo(url):

wb_data = requests.get(url)

soup = BeautifulSoup(wb_data.text,'lxml')

titles = soup.select('body > div.wrap.clearfix.con_bg > div.con_l > div.pho_info > h4 > em')

addresses = soup.select('body > div.wrap.clearfix.con_bg > div.con_l > div.pho_info > p > span')

rentals = soup.select('#pricePart > div.day_l > span')

house_images = soup.select('#imgMouseCusor')

lord_images = soup.select('#floatRightBox > div.js_box.clearfix > div.member_pic > a > img')

lord_names = soup.select('#floatRightBox > div.js_box.clearfix > div.w_240 > h6 > a')

lord_sexs = soup.select('#floatRightBox > div.js_box.clearfix > div.member_pic > div')

fortitle,address,rental,house_image,lord_image,lord_name,lord_sexinzip(titles,addresses,rentals,house_images,lord_images,lord_names,lord_sexs):

data = {

'title': title.get_text(),

'address': address.get_text().rstrip(),

'rental': rental.get_text(),

'house_image': house_image.get('style')[16:-2],

'lord_image': lord_image.get('src'),

'lord_name': lord_name.get_text(),

'lord_sex':"{}".format('female'iflord_sex['class'][0] =="member_ico1"else'male')

}

print(data)

#得到一整页

defonePageInfo(list_url):

page_list = requests.get(list_url)

page_list_soup = BeautifulSoup(page_list.text,'lxml')

house_list = page_list_soup.select('#page_list > ul > li > a')

'''

house_link = []

for i in house_list:

house_link.append(i['href'])

print(house_link)

'''

foriinhouse_list:

getInfo(i['href'])

urls = ['http://bj.xiaozhu.com/search-duanzufang-p{}-0/'.format(str(i))foriinrange(1,8)]

#urls = ['http://bj.xiaozhu.com/search-duanzufang-p{}-0/'.format(str(i) for i in range(1,8))]错误

forurlinurls:

onePageInfo(url)

利用python爬取租房信息_Python实战:爬取租房信息相关推荐

  1. python爬取微信好友信息_python itchat 爬取微信好友信息

    「itchat」一个开源的微信个人接口,今天我们就用itchat爬取微信好友信息,无图言虚空 三张图分别是「微信好友头像拼接图」.「性别统计图」.「个性签名统计图」 「微信好友头像拼接图」 「性别统计 ...

  2. python爬取学校新闻_python爬虫爬取新闻的简单实现

    我们通常是使用爬虫爬取网站信息,其实网络爬虫是一种应用于搜索引擎的程序.使用python爬虫可以将一个网站的所有内容与链接进行阅读.例如我们每日都要获取新闻信息,利用python爬虫就可以帮助我们爬取 ...

  3. python 爬虫 博客园_Python爬虫爬取博客园作业

    分析一下他们的代码,我在浏览器中对应位置右键,然后点击检查元素,可以找到对应部分的代码.但是,直接查看当前网页的源码发现,里面并没有对应的代码.我猜测这里是根据服务器上的数据动态生成的这部分代码,所以 ...

  4. python爬虫爬取今日头条_python 简单爬取今日头条热点新闻(一)

    今日头条如今在自媒体领域算是比较强大的存在,今天就带大家利用python爬去今日头条的热点新闻,理论上是可以做到无限爬取的: 在浏览器中打开今日头条的链接,选中左侧的热点,在浏览器开发者模式netwo ...

  5. python爬虫知乎点赞_Python爬虫爬取知乎小结

    最近学习了一点网络爬虫,并实现了使用Python来爬取知乎的一些功能,这里做一个小的总结.网络爬虫是指通过一定的规则自动的从网上抓取一些信息的程序或脚本.我们知道机器学习和数据挖掘等都是从大量的数据出 ...

  6. python爬虫实例电商_Python实现爬取并分析电商评论

    现如今各种APP.微信订阅号.微博.购物网站等网站都允许用户发表一些个人看法.意见.态度.评价.立场等信息.针对这些数据,我们可以利用情感分析技术对其进行分析,总结出大量的有价值信息.例如对商品评论的 ...

  7. python 实时数据推送_python scrapy 爬取金十数据并自动推送到微信

    一.背景 因业务需要获取风险经济事件并采取应对措施,但因为种种原因又疏忽于每天去查看财经日历,于是通过爬取金十数据网站并自动推送到微信查看. 二.目标实现 image 三.环境与工具 1.pychar ...

  8. python多元线性回归模型案例_Python 实战多元线性回归模型,附带原理+代码

    原标题:Python 实战多元线性回归模型,附带原理+代码 作者 | 萝卜 来源 | 早起Python( ID:zaoqi-python ) 「多元线性回归模型」非常常见,是大多数人入门机器学习的第一 ...

  9. python抓取数据库数据_Python爬虫抓取东方财富网股票数据并实现MySQL数据库存储...

    Python爬虫可以说是好玩又好用了.现想利用Python爬取网页股票数据保存到本地csv数据文件中,同时想把股票数据保存到MySQL数据库中.需求有了,剩下的就是实现了. 在开始之前,保证已经安装好 ...

  10. python文字提取关键信息_Python提取图片中的文字信息,腾讯内部技术,一行代码搞定!...

    用过手机QQ就知道,点击一个图片会弹出一个小功能,那就是提取图片中的文字.非常方便实用,那么很难实现吗? 利用Python提取图片中的文字信息,只需要一行代码就能搞定! 当然,这是吹牛皮的,但是真正的 ...

最新文章

  1. Android开发之根据Service的生命周期特点后台连接网络下载图片(源代码分享)
  2. 计算机应用基础浙大,2014春浙大远程教育计算机应用基础-3.Word知识题
  3. Mesos源码分析(8): Mesos-Slave的初始化
  4. 代码 控制unity 暂停 编辑器_Unity3D 报错解决方案及常用功能收集
  5. php获取目录中的所有文件名
  6. Windows 10 安装SVN 不显示状态图标--解决方法
  7. 常用的计算机显示器按其显像原理可分为什么,计算机组装与维护的试卷C答案...
  8. [SCOI2005]互不侵犯 (状压$dp$)
  9. MapControl与PageLayoutControl联动
  10. 金士顿U盘DT100G3-2014年款与2019年款对比
  11. Docker 启动Redis
  12. 量化研究 | CTA择时出场策略指南大全
  13. docker一键安装
  14. 求1到100之间的质数(素数)?
  15. MATLAB 把坐标轴(X Y轴)移到坐标原点
  16. STM32F4结合ESP8266上传信息到one_net(中国移动物联网云台)的总结(含客户端查询)
  17. google海底光缆图_海底10万公里,原来谷歌建了这么多光缆
  18. ITIL先锋论坛专家风采——杜肖辉
  19. Kettle(spoon)从转换中提取数据
  20. 海外邮箱注册,外贸邮箱账号注册,企业邮箱号是多少?

热门文章

  1. 一文带你读懂 Java Agent 内存马
  2. 微众银行风险模型笔试前做的准备(公司介绍+欺诈与反欺诈+sql+机器学习)
  3. 函数分离常数法 oracle,圆锥曲线:椭圆小题解题报告
  4. 2021水利水电安全员考试每日一练单选题库
  5. 上海车展6大热门车型自动驾驶配置梳理
  6. 小米9开发版刷稳定版心得体验
  7. 解决ubuntu 18.04平台上thinkpad小红点TrackPoint左键随机失效的问题(by quqi99)
  8. thinkpad指点杆(trackpoint)在WPS的word文档中失效的解决办法
  9. Vue - 选择器拼音快速检索目标(pinyin-match)
  10. Android Studio最新稳定版下载 - 百度网盘(更新于2017年7月14日)