点击上方“

Python爬虫与数据挖掘

”,进行关注

回复“书籍”即可获赠Python从入门到进阶共10本电子书

夜阑卧听风吹雨,铁马冰河入梦来。

/1 前言/

随着人们生活方式的的提高,房子成为了我们必不可少的一部分。而网上的信息太过于复杂,为了了解最近房价的变化趋势。小编以链家这个网站为例,抓取房价的信息。

/2 项目目标/

实现将获取到的房子的名字、价格、房子的关注度,导入Word模板,并生成独立的Word文档。

/3 涉及的库和网站/

先列出网址,如下所示。

网址:https://bj.lianjia.com/ershoufang/pg1/("bj"北京的缩写)

库:requests、time、lxml

/4 具体分析/

如何对下一页的网址进行请求?

点击下一页的按钮,观察到网站的变化分别如下:

https://bj.lianjia.com/ershoufang/pg1/https://bj.lianjia.com/ershoufang/pg2/https://bj.lianjia.com/ershoufang/pg3/

观察到只有pg()变化,变化的部分用{}格式化代替,再用for循环遍历这网址,实现多个网址请求。

/5 实现步骤/

1. 我们定义一个class类继承object,然后定义init方法继承self,再定义一个主函数main继承self。准备url地址和请求头headers。

import requestsfrom lxml import etreeimport timeclass LianJia(object):def __init__(self):passdef main(self):passif __name__ == '__main__':spider= LianJia()spider.main()

2. 对网站发生请求

def __init__(self):self.url = "https://bj.lianjia.com/ershoufang/pg{}/"self.headers = {"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36"}# 请求数据def get_page(self,url):html = requests.get(url=url,headers=self.headers).content.decode("utf-8")# print(html)self.page_page(html)

3. 对请求到的数据进行处理

# 数据处理def page_page(self,html):parse_html = etree.HTML(html)page = parse_html.xpath('//*[@id="content"]/div[1]/ul/li')house_dict = {}for li in page:house_dict['名称']=li.xpath('.//div[@class="infoclear"]//div[@class="title"]/a/text()')[0].strip()house_dict["价格"] = li.xpath(".//div[@class='priceInfo']/div[@class='totalPrice']/span/text()")[0].strip()+"万"house_dict["关注度"] = li.xpath('.//div[@class="info clear"]//div[@class="followInfo"]//text()')[0].strip()

1) 在谷歌浏览器上,进行右键选择开发者工具或者按下键盘的F12,如下图所示。

2) 右键检查,找到房价的链接,如下图所示。

4. 将获取的信息写入word文档

f = open('房子.doc', 'a', encoding = 'utf-8') # 以'w'方式打开文件f.write(str(house_dict))print(house_dict)f.write("\n") # 键和值分行放,键在单数行,值在双数行f.close()

5. 在main方法调用

def main(self):for pg in range(1 ,101): #for遍历得到的网址url = self.url.format(str(pg))print(" = " *50)time.sleep(1.4) #时间延时

/6 效果展示/

1. 点击绿色按钮运行,将结果显示在控制台,如下图所示。

2. 保存在一个名为“房子”world文档里,如下图所示。

/7 小结/

不建议抓取太多数据,容易对服务器造成负载,浅尝辄止即可。

希望通过这个项目,能够帮助大家更好的了解房价的趋势。

本文基于Python网络爬虫,利用爬虫库,实现链家网部分房价信息的抓取。就Python爬取链家的房产信息中的一些难点, 进行详细的讲解和提供有效的解决方案。

欢迎大家积极尝试,有时候看到别人实现起来很简单,但是到自己动手实现的时候,总会有各种各样的问题,切勿眼高手低,勤动手,才可以理解的更加深刻。

如果本文源码的小伙伴,请在后台回复“链家网”三个字进行获取,觉得不错,记得给个Star噢~

------------------- End -------------------

往期精彩文章推荐:

欢迎大家点赞,留言,转发,转载,感谢大家的相伴与支持

想加入Python学习群请在后台回复【入群】

万水千山总是情,点个【在看】行不行

/今日留言主题/

说一两个你常用的爬虫库吧~~

python链家网爬虫_手把手教你利用Python网络爬虫获取链家网的房产信息相关推荐

  1. python正确的输入语句_手把手教你在python中如何使用while True语句

    在学习过程中,经常能遇到采用while True的用法.下面以一个例子进行说明: 建立一个用户登录系统,用户输入用户名和密码,如果正确就可以进入系统. 1.我自己最开始的写法:d = {} #数据库字 ...

  2. python处理时间序列非平稳_手把手教你用Python处理非平稳时间序列

    简介 预测一个家庭未来三个月的用电量,估计特定时期道路上的交通流量,预测一只股票在纽约证券交易所交易的价格--这些问题都有什么共同点? 它们都属于时间序列数据的范畴!如果没有"时间" ...

  3. 如何用python抓取qq音乐_手把手教你使用Python抓取QQ音乐数据(第三弹)-阿里云开发者社区...

    [一.项目目标] 通过手把手教你使用Python抓取QQ音乐数据(第一弹)我们实现了获取 QQ 音乐指定歌手单曲排行指定页数的歌曲的歌名.专辑名.播放链接. 通过手把手教你使用Python抓取QQ音乐 ...

  4. python爬虫可以爬取个人信息吗_手把手教你利用Python网络爬虫获取旅游景点信息...

    爬虫系列: 当我们出去旅游时,会看这个地方有哪些旅游景点,景点价格.开放时间.用户的评论等. 本文基于Python网络爬虫技术,以hao123旅游网为例,获取旅游景点信息. 1.项目目标 获取网站的景 ...

  5. pythonqq音乐爬虫_手把手教你使用Python抓取QQ音乐数据(第二弹)

    [一.项目目标] 通过Python爬取QQ音乐数据(一)我们实现了获取 QQ 音乐指定歌手单曲排行指定页数的歌曲的歌名.专辑名.播放链接. 此次我们在之前的基础上获取QQ音乐指定歌曲的歌词及前15个精 ...

  6. python基金比较上机题_手把手教你用python选基金

    买基金是上班族用零钱进行投资的正确姿势.而自己用数据来选基金比听别人推荐买什么基金要好上一百倍. 步骤如下: 1.获取网上的基金的排名信息,使用四四三三法则筛选出排名靠前的基金.2.获取网上的基金的基 ...

  7. python热搜排行功能_手把手教你用Python+Pyecharts让微博热搜榜动起来

    今天教大家如何用pyecharts制作微博热搜榜动态展示视频,先上视频看看效果: 教程主要有2部分: 一是python爬取微博热搜内容 二是用pyecharts制作动态视频 下面给大家详细介绍一下 一 ...

  8. python文件图标变成小电脑_手把手教你给Python程序写图形界面,并且打包成exe文件-exe文件...

    环境配置 官网下载Python3,LZ的配置环境是Python3.6,PyCharm 2017.2.1pip3 install PyQt5 #下载PyQt5 pip install PyQt5-too ...

  9. python 函数修饰器 父类_手把手教你学python第十四讲(函数装饰器,super用法和时间处理)...

    文中有些字在图中是因为每篇文章最多100张图片,我把有的小图片和文字一起截图了,文中所有的引用都会标出原文网址,除此以外都是作者原创. 有时候会在文章最前或者最后补充一些知识或者把前面说的有问题的地方 ...

最新文章

  1. 无刷电机真威武,一通操作猛如虎
  2. linux 错误 ttyname failed: Inappropriate ioctl for device 解决方法
  3. 线程:CountDownLatch同步工具
  4. usb转ttl_[开源]双TYPEC转TTL串口模块
  5. mysql 数据复制停止工作_linux – Mysql GTID复制停止工作
  6. 管家婆辉煌版软件的使用方法_管家婆软件进销存的使用方法,管家婆软件使用教程_双全科技...
  7. java工作笔记020---Java中的关键字 transient
  8. GitHub 开源官方命令行工具登顶 TOP1,5 分钟极速上手!
  9. Alpha版本发布说明
  10. 力扣题目系列:860. 柠檬水找零
  11. 【C/C++】各种数据类型在16位、32位和64位系统下所占字节差异
  12. 74LV165与74HC595 使用
  13. 最近计算机速度测试情况,速度测试
  14. 行列式与矩阵的初等变换总结
  15. ADXL345调试心得
  16. 蓝桥杯训练1:质数判断,同余问题
  17. [读后感]从Code Review 谈如何做技术
  18. Python数据结构与算法(3)--基本数据结构
  19. 哈尔滨市平房区云计算助力 为创城插上智慧的翅膀
  20. odoo15 csv 格式文件加载 中华民簇表

热门文章

  1. JB的测试之旅-听说安卓微信7.0不能抓https?
  2. LED 数码管共阴共阳的区别+静态/动态显示
  3. android开发图片自适应高度,recyclerview实现瀑布流图片自适应高度
  4. 如何用Win7远程链接ubuntu14.04桌面
  5. Java 实现RSA 签名/验签与加密解密
  6. uni-app 19二维码名片页开发
  7. Kali学习笔记(一)利用burpsuite爆破wifi管理员密码
  8. Tomcat调优(详细)
  9. 超全Python读取文件方法,不容错过噢!
  10. Pwn2Own 2023迈阿密大赛Master of Pwn诞生