菜鸟爬虫——获取安居客二手房信息

前言

因为需要一些二手房数据,菜鸟开启了爬虫之路!不过需要注意的是,在爬取数据时,要遵守《中华人民共和国网络安全法》以及《规范互联网信息服务市场秩序若干规定》等相关法律规定(毕竟我们要做一个知法懂法的好公民,不能违法!)。

完整源代码请点击这里是我

了解爬虫

首先需要了解一下爬虫机制、python的基本语法、爬虫框架(scrapy等)、爬虫常用的一些库、网页解析工具(正则表达式、XPath等)、反爬虫机制,进阶后可能还要多线程、多进程爬取、以及一些特殊网页的爬取(登录问题、动态网页等)等等… …作为菜鸟的我,只为了能够快速获取数据,有些内容也没有深层次的理解,如果大家对于爬虫非常感兴趣,也可以专门去学一学相对应的内容。这里简单说一下我的理解:我所理解的爬虫过程就是模拟浏览器发送请求,然后下载网页代码,只提取有用的信息,最后放入数据库或者文件中

爬虫目录结构

在安装好爬虫需要的一些库(scrapy)等以后,就可以找爬虫框架或者github上下载的爬虫代码,如下图所示,是爬虫目录的结构,这里包括了:
spiders文件夹   #放置关于爬虫部分的内容
_init_.py      #项目初始化文件
items.py      #数据容器文件
middlewares.py  #中间件
pipelines.py     #管道文件
settings.py    #项目的设置文件
scrapy.cfg     #项目运行的配置文件
Scrapy爬虫文件结构

爬虫主体代码

首先先看spiders文件夹里的ershoufang.py文件 ,这里的逻辑是这样的,以我爬取的安居客长春二手房为例:
——>先点进安居客首页
——>点击二手房、房源

——>进入了二手房页面点击南关(因为我是需要分区的房屋信息,所以我是点进去每个区来爬取的),这里需要注意上方的网址,这也是我们最开始的初始网址,简单观察可以发现后面的数字是从p1-50的,代表着页数,nanguan代表着这个

——>接下来网页向下翻就是每个我们需要爬取的链接入口
——>点进去就是每一个房源信息了。

知道了这个逻辑,代码就好理解了,我们上代码!!!

class ershoufangSpider(scrapy.Spider):
    name = "ershoufang"
    allowed_domains = ['anjuke.com']
    # 生成起始网址
    start_urls = []
    for i in range(1,51):
        start_urls.append('https://heb.anjuke.com/sale/hulan/p%d/#filtersort'%i)

    # 采集每个房屋网址链接
    def parse(self,response):
        # item = ErshoufangItem()
        selector = Selector(response)
        #url = Selector(respone)
        urls =selector.xpath(".//ul[@class='houselist-mod houselist-mod-new']/li")
        for url in urls:
            detail_url = url.xpath(".//div[@class='house-title']/a/@href").extract()[0]
            # item["url"] = detail_url
            yield scrapy.Request(detail_url,callback = self.parse_item)
            # yield item

    # 采集每个链接里面的房屋信息
    def parse_item(self,response
  • 6
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值