Python爬虫案例3:爬取房天下房价等各种信息

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/PbGc396Dwxjb77F2je/article/details/79832022

爬取房天下网站,爬取的内容:

区域、小区名、总价、房型、面积、单价、朝向、楼层位置、装修情况、建筑时间、是否有电梯、产权类型、住宅类型、发布日期

信息保存:保存在csv中

数据结果:

640?wx_fmt=png

1、先建立爬虫项目

1)进入目标目录:cd 目标目录

2)建立项目:scrapy startproject 爬虫项目名称

3)进入爬虫项目目录,cd 爬虫项目所在的文件夹

4)建立爬虫:scrapy genspider 爬虫名称 网址


具体可参考豆瓣的爬虫博文。


2、编写爬虫程序

有五个注意和修改的地方:

1)编写spider程序,我的案例是spider的price.py的文件中

2)修改items.py

3)修改pipeline.py,并需要在settings.py中导入

4)编写运行爬虫的程序,我的是runspider.py

5)对应的修改settings.py:pipline类、设置DEPTH_LIMIT


完整的项目目录如下:

640?wx_fmt=png

1)爬虫文件price.py的程序,如下:主要是注意跳转下一页的用法。

主要包含三个功能:

  • 解析房子信息

  • 如何找到具体每个房子的链接网址

  • 如何跳转下一页,并控制爬取的页码

  • 如何实现区域的跳转

640?wx_fmt=png

640?wx_fmt=png

640?wx_fmt=png

640?wx_fmt=png

2)修改item.py文件,注意需要在爬虫文件中导入items

640?wx_fmt=png

这个文件的item是可以优化的,具体可参考豆瓣的博文

3)修改pipelines.py文件,并需要在settings.py文件中启用。

    注意红点的部分为截图不全,需要把所有的字段都列上,具体参考附加文件,这个点也是可以优化的,不用一个个字段写出。

640?wx_fmt=png

4)编写运行爬虫的程序,省得每次都去cmd命令栏运行,我的是runspider.py

640?wx_fmt=png

5)对应的修改settings.py:pipline类、设置DEPTH_LIMIT

pipeline类:

640?wx_fmt=png

设置下延迟下载秒数:

640?wx_fmt=png

设置DEPTH_LIMIT:我设置的是2层,不限制的话就爬取完,记得修改ip,以防止ip被封

640?wx_fmt=png

6)执行结果:

640?wx_fmt=png


程序链接:https://pan.baidu.com/s/1TkohEc7kH7AedopyvXfSLQ 密码:17o5


本文只是简单的实现功能,有一些地方需要细化修改,参考后续的案例博文。




展开阅读全文

没有更多推荐了,返回首页