磕磕绊绊,爬了很多次,尝试了很多次,翻阅了很多前辈的文章,在摸索中终于实现了,接下来我将详细记录我的思路,以及详细的代码,截止目前2020年7月18日,是可以正常爬取的,接下来请听我唠叨喽~
基于python的scrapy框架完成的本项目,想要跑通首先呢你得安装好python环境,搭建python环境,在本文章就不做详细描述,直接入手吧!
安装scrapy框架,一般你网速还好就可以直接安装成功!
pip install scrapy
明确一下我们的需求:
- 爬取链家北京二手房前100页数据
- 分析爬取链接,为后面分页做准备
- 分析网页源码
- 需要爬取哪些数据
需要爬取的链接如下:
- https://bj.lianjia.com/ershoufang/ 首页链接
- https://bj.lianjia.com/ershoufang/pg2/ 第二页
- https://bj.lianjia.com/ershoufang/pg3/ 第三页
通过对比爬取链接,我们发现前面的链接基本上都相同,唯一不同的是最后的数字,最后的数字代表哪一页,明确了这些我们就可以着手创建scrapy项目
创建项目
scrapy startproject lianjia # 创建一个名为 lianjia的爬虫项目
cd lianjia # 进入刚创建的项目
scrapy genspider lianjia_spider bj.lianjia.com # 创建lianjia的spider
分析网站源码
发现列表页里面需要的数据都是在li标签里,继续往下分析,因为咱们本项目的爬取思路是爬标题,获取到标题里面的链接,然后进详情页继续爬取数据,通过定位找到详情页的入口,咱们继续往下走,进入详情页。