本节主要讲解爬虫思路
目标网址:https://cd.58.com/chuzu/0/
目标数据:个人房源中的所有页面的信息
具体为下图中的第一行描述,第二行房屋类型及大小,第三行的所在区域及详细地址,第四行的出租人,以及右边的价格,左边的图片链接。
存储方式:mongoDB,并通过mongoExport.exe导出为csv文件。
首先f12查看审查元素,可以看到这些房源信息都是直接在ul列表中的,可以直接抓取的。我们用xpath提取ul中的li,然后在逐个解析这些li中的信息。获取我们想要的内容即可。
image.png
再看页面底部是使用的分页类型,可以发现下一页的链接直接写在下一页按钮里面了,并没有使用ajax进行加载,这就方便了我们进行分页爬取。注意它的下一页也是个li和上面的房源列表同属于一个ul,解析房源信息时需要加个判断处理一下。
确定好爬取的数据后,就要在Items文件中定义好数据类型。然后在spider中编写解析函数进行数据的提取。
提取完后还需要对数据进行清洗处理,因为它的数字并不是utf-8类型的
image.png
图片中写的是次卧(四室),10㎡。
image.png
我们右键查看网页源代码,这里的数字使用“&#x”开头的编码,并不能直接转换为数字,所以我们需要在pipeline中进行替换处理。另外还有一些其他数据的格式需要进行调整。
最后写入到mongoDB数据库中即可。
网友评论