前言

本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理。

前文内容

Python爬虫入门教程01:豆瓣Top电影爬取

Python爬虫入门教程02:小说爬取

PS:如有需要 Python学习资料 以及 解答 的小伙伴可以加点击下方链接自行获取
python免费学习资料以及群交流解答点击即可加入

基本开发环境

  • Python 3.6
  • Pycharm

相关模块的使用

  • requests
  • parsel
  • csv

安装Python并添加到环境变量,pip安装需要的相关模块即可。

一、明确需求


爬取图上所框的内容

二、请求网页

打开开发者工具( F12或者鼠标右键点击检查 )选择 notework 查看数据返回的内容。

通过开发者工具可以看到,网站是静态网页数据,请求url地址是可以直接获取数据内容的。

url = 'https://cs.lianjia.com/ershoufang/'
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36'
}
response = requests.get(url=url, headers=headers)
print(response.text)

如果你不知道,返回的数据中是否有你想要的内容,你有复制网页的内容,在pycharm的输出结果中进行搜索查看。

三、解析数据

既然网站是静态网页数据,那么就可以直接在开发者工具中 Elements 查看数据在哪

如上图所示,相关的数据内容都包含在 li 标签里面。通过 parsel 解析库,进行解析提取数据就可以了。

selector = parsel.Selector(response.text)
lis = selector.css('.sellListContent li')
for li in lis:# 标题title = li.css('.title a::text').get()# 地址positionInfo = li.css('.positionInfo a::text').getall()# 小区community = positionInfo[0]# 地名address = positionInfo[1]# 房子基本信息houseInfo = li.css('.houseInfo::text').get()# 房价Price = li.css('.totalPrice span::text').get() + '万'# 单价unitPrice = li.css('.unitPrice span::text').get().replace('单价', '')# 发布信息followInfo = li.css('.followInfo::text').get()dit = {'标题': title,'小区': community,'地名': address,'房子基本信息': houseInfo,'房价': Price,'单价': unitPrice,'发布信息': followInfo,}print(dit)

当我运行的时候发现报错了。

IndexError: list index out of range 超出索引范围了。
遇事不要慌, 取0超出索引范围,说明数据并没有取到,所以我们要看一下 <精装好房...> 这个信息下面那一个是什么情况。

搜索发现,这个中间插入了一条广告,也是li标签里面的,所以做一个简单的判断就好了,它是一个广告并没有标题,判断是否有标题就可以了,有就爬取相关内容,没有就pass掉。

for li in lis:# 标题title = li.css('.title a::text').get()if title:# 地址positionInfo = li.css('.positionInfo a::text').getall()# 小区community = positionInfo[0]# 地名address = positionInfo[1]# 房子基本信息houseInfo = li.css('.houseInfo::text').get()# 房价Price = li.css('.totalPrice span::text').get() + '万'# 单价unitPrice = li.css('.unitPrice span::text').get().replace('单价', '')# 发布信息followInfo = li.css('.followInfo::text').get()dit = {'标题': title,'小区': community,'地名': address,'房子基本信息': houseInfo,'房价': Price,'单价': unitPrice,'发布信息': followInfo,}print(dit)


这样就不会报错了。

四、保存数据(数据持久化)

和爬取豆瓣的电影信息是一样的,使用csv模块,把数据保存到Excel里面

# 创建文件
f = open('二手房数据.csv', mode='a', encoding='utf-8', newline='')
csv_writer = csv.DictWriter(f, fieldnames=['标题', '小区', '地名', '房子基本信息','房价', '单价', '发布信息'])
# 写入表头
csv_writer.writeheader()
''''
''''
csv_writer.writerow(dit)

五、多页爬取

# 第二页url地址
url_2 = 'https://cs.lianjia.com/ershoufang/pg2/'
# 第三页url地址
url_3 = 'https://cs.lianjia.com/ershoufang/pg3/'
# 第四页url地址
url_4 = 'https://cs.lianjia.com/ershoufang/pg4/'


通过以上的内容,只需要for 循环遍历 pg的参数 即可多页爬取

for page in range(1, 101):url = f'https://cs.lianjia.com/ershoufang/pg{page}/'

这样就可以进行多页爬取了。

实现效果

Python爬虫入门教程03:二手房数据爬取相关推荐

  1. Python爬虫入门教程02:小说爬取

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理. 前文 01.python爬虫入门教程01:豆瓣Top电影爬取 基本开发环境 Python 3 ...

  2. Python爬虫入门教程 6-100 蜂鸟网图片爬取之一

    1. 蜂鸟网图片简介 国庆假日结束了,新的工作又开始了,今天我们继续爬取一个网站,这个网站为 http://image.fengniao.com/ ,蜂鸟一个摄影大牛聚集的地方,本教程请用来学习,不要 ...

  3. Python爬虫入门教程09:多线程爬取表情包图片

    前言

  4. python爬虫入门实战---------一周天气预报爬取_Python爬虫入门实战--------一周天气预报爬取【转载】【没有分析...

    Python爬虫入门实战--------一周天气预报爬取[转载][没有分析 Python爬虫入门实战--------一周天气预报爬取[转载][没有分析] 来源:https://blog.csdn.ne ...

  5. Python爬虫《自动化学报》数据爬取与数据分析

    Python爬虫<自动化学报>数据爬取与数据分析 文章目录 Python爬虫<自动化学报>数据爬取与数据分析 前言 一.代码 二.结果展示 三.爬虫实现 1.准备 2.获取网页 ...

  6. Python爬虫小白教程(二)—— 爬取豆瓣评分TOP250电影

    文章目录 前言 安装bs4库 网站分析 获取页面 爬取页面 页面分析 其他页面 爬虫系列 前言 经过上篇博客Python爬虫小白教程(一)-- 静态网页抓取后我们已经知道如何抓取一个静态的页面了,现在 ...

  7. Python爬虫学习教程 bilibili网站视频爬取!【附源码】

    Python爬虫学习教程,万物皆可爬!每个技术大牛都是从基础慢慢的提升上去的,基础知识越深以后的发展越牛!学好python,才能玩转python,那到底怎么才能学好python? 通过爬取b站案例带领 ...

  8. python爬虫,g-mark网站图片数据爬取及补坑

    应用python对g-mark网站图片数据爬取,同时但对于数据抓取失败的图片进行补坑(重新爬取操作),由于是日本网站,没有梯子访问的话,特别容易访问超时,比较合适的补坑操作是直接将数据采集到数据库,而 ...

  9. Python爬虫-CSDN博客排行榜数据爬取

    文章目录 前言 网络爬虫 搜索引擎 爬虫应用 谨防违法 爬虫实战 网页分析 编写代码 运行效果 反爬技术 前言 开始接触 CTF 网络安全比赛发现不会写 Python 脚本的话简直寸步难行--故丢弃 ...

  10. Scrapy-redis 分布式爬虫-成都安居客二手房数据爬取

    Joint-spider 项目地址:GitHub Scrapy-Redis 架构: 成都贝壳,安居客房源信息爬虫 基于 python 分布式房源数据爬取系统,为房价数据挖掘及可视化提供数据支持.采用 ...

最新文章

  1. 【组队学习】【35期】SQL编程语言
  2. 使用iphone功能来实现远程监控
  3. C/C++内存管理详解
  4. oracle 并行提交,如何配置Oracle并行处理(上)
  5. OpenCV:使用 随机森林与GBDT
  6. scatter python_python数据可视化(matplotlib、scatter)
  7. 19岁白帽子通过bug悬赏赚到一百万美元--转
  8. Redis HyperLogLog 是什么?这些场景使用它~
  9. 安卓小程序 自定义下拉刷新_支付宝小程序设计设计指南
  10. 【转】小木虫分享免费文献获得方法
  11. java compiler = null_Java Compiler command()方法
  12. IBM Machine Learning学习笔记(一)——Exploratory Data Analysis for Machine Learning
  13. 软件著作权申请注意事项(微信小程序)
  14. 晨曦记账本如何将账本内容导出EXCEL表格
  15. Caterpillar CAT SIS卡特彼勒最新零件目录系统+维修信息
  16. 《系统之美》— 忒修斯悖论
  17. 百度的镜像网站,有意思…………
  18. JWT的讲解以及JJWT的使用(另附JWT工具类)
  19. 【面试】Js面试题(一)
  20. 计算机音乐告白之夜,温柔版:《告白之夜(纯音乐)》

热门文章

  1. 15.编写LED程序及反汇编工具
  2. 程序员是做什么的?怎么成为程序员?
  3. 图形学常见概念与算法-常用初等数学公式
  4. java编写蠕虫病毒_教大家编写蠕虫病毒
  5. shc加密shell脚本
  6. PLC调试工具Modbus Poll使用说明(ModBus TCP/IP类型)
  7. 程序员培训去哪里?哪里学习程序员
  8. ISP对pptpd及1723端口的动态管控初探
  9. LRO -- skb_buff->frags[] skb_buff->frag_list
  10. 声音莫名从扬声器切换到听筒_扬声器听筒的切换