爬取链家网站二手房房源信息,第一次做,仅供参考,要用scrapy。
 
import scrapy,pypinyin,requests
import bs4
from ..items import LianjiaItem
class LianjiaSpider(scrapy.Spider):
    name = 'lianjia_dl'
    allowed_domains = ['www.lianjia.com']
    start_urls = []
    url_0 = 'https://www.lianjia.com/city/'
    res = requests.get(url_0)
    bs_cs = bs4.BeautifulSoup(res.text,'html.parser')
    xinxi_cs = bs_cs.find_all('div',class_='city_province')
    for data_cs in xinxi_cs:
        cs_s = data_cs.find('ul').find_all('li')
        for cs_1 in cs_s:
            yess = cs_1.find('a')['href']
            if yess.find('fang')>=0:       #若fang字符串在yess中,则yess.find('fang')是大于等于0的,显示在字符串中的位置
                continue
            else:
                for x in range(100):
                real_url = cs_1.find('a')['href']+'ershoufang/pg'+str(x+1)+'/' 
                start_urls.append(real_url)
 
    def parse(self,response):
        bs = bs4.BeautifulSoup(response.text,'html.parser')
        datas = bs.find_all('div',class_='info clear')
        for data in datas:
               item = LianjiaItem()
item['xiaoqu'] = data.find('div',class_='address').find('a').text
da_list = data.find('div',class_='address').find('div',class_='houseInfo').text
da_li =da_list.split('|')
item['huxing'] = da_li[1].replace(' ','') # .replace(' ','') 去掉全部空格
item['mianji'] = da_li[2].replace(' ','')
item['chaoxiang'] = da_li[3].replace(' ','')
item['zhuangxiu'] = da_li[4].replace(' ','')
item['quyu'] = data.find('div',class_='flood').find('div',class_='positionInfo').text.split('-')[1].replace(' ','')
item['louceng'] = data.find('div',class_='flood').find('div',class_='positionInfo').text.split('-')[0].replace(' ','')
item['danjia'] = data.find('div',class_='priceInfo').find('div',class_='unitPrice').find('span').text.split('单价')[1].replace(' ','')
item['fangjia'] = data.find('div',class_='priceInfo').find('div',class_='totalPrice').text
yield item

Python爬取链家二手房源信息的更多相关文章

  1. python爬取链家二手房信息,确认过眼神我是买不起的人

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理. PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取 python免费学习资 ...

  2. 【nodejs 爬虫】使用 puppeteer 爬取链家房价信息

    使用 puppeteer 爬取链家房价信息 目录 使用 puppeteer 爬取链家房价信息 页面结构 爬虫库 pupeteer 库 实现 打开待爬页面 遍历区级页面 方法一 方法二 遍历街道页面 遍 ...

  3. python抓取链家房源信息(二)

    试着用scrapy将之前写的抓取链家网信息的重新写了写 然后先是用了第一页的网页作为测试,调试代码,然后发现总是抓取的时候遇见了 类似于这样的问题,并且抓取不到信息 2017-03-28 17:52: ...

  4. python抓取链家房源信息(三)

    之前写过一个链家网北京二手房的数据抓取,然后本来今天想着要把所有的东西弄完,但是临时有事出去了一趟,耽搁了一下,然后现在是想着把北京的二手房的信息都进行抓取,并且存储在mongodb中, 首先是通过' ...

  5. python抓取链家房源信息

    闲着没事就抓取了下链家网的房源信息,抓取的是北京二手房的信息情况,然后通过网址进行分析,有100页,并且每页的url都是类似的 url = 'https://bj.lianjia.com/ershou ...

  6. 适合初学者的Python爬取链家网教程

    前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者: TinaLY PS:如有需要Python学习资料的小伙伴可以加点击下 ...

  7. python 爬取链家

    import json import requests from lxml import etree from time import sleep url = "https://sz.lia ...

  8. Python的scrapy之爬取链家网房价信息并保存到本地

    因为有在北京租房的打算,于是上网浏览了一下链家网站的房价,想将他们爬取下来,并保存到本地. 先看链家网的源码..房价信息 都保存在 ul 下的li 里面 ​ 爬虫结构: ​ 其中封装了一个数据库处理模 ...

  9. python爬虫:爬取链家深圳全部二手房的详细信息

    1.问题描述: 爬取链家深圳全部二手房的详细信息,并将爬取的数据存储到CSV文件中 2.思路分析: (1)目标网址:https://sz.lianjia.com/ershoufang/ (2)代码结构 ...

随机推荐

  1. MFC的PictureControl控件上展示Halcon的窗体

    自定义函数:id是MFC窗体上的PictureControl控件的ID,此函数返回halcon的HWindow对象. HTuple initPicControl(int id); HTuple CHa ...

  2. 解决 ImportError: No module named 'pip._internal'问题

    pip错误 ImportError: No module named 'pip_internal' 解决  ImportError: No module named 'pip._internal' 问 ...

  3. 【原创】go语言学习(十二)struct介绍1

    目录: struct声明和定义 struct的内存布局以及构造函数 匿名字段和struct嵌套 struct与tag应用 struct声明和定义 1.Go中面向对象是通过struct来实现的, str ...

  4. spark2.1.0的源码编译

    本文介绍spark2.1.0的源码编译 1.编译环境: Jdk1.8或以上 Hadoop2.7.3 Scala2.10.4 必要条件: Maven 3.3.9或以上(重要) 点这里下载 http:// ...

  5. 基于Shiro的登录功能 设计思路

    认证流程 Shiro的认证流程可以看作是个“有窗户黑盒”, 整个流程都有框架控制,对外的入口只有subject.login(token);,这代表“黑盒” 流程中的每一个组件,都可以使用Spring ...

  6. Linux下java环境变量配置

    安装步骤 1.查看当前Linux系统是否安装java rpm -qa | grep java 2.卸载系统中已经存在的openJDK rpm -e --nodeps java--openjdk-1.7 ...

  7. JRebel for IntelliJ激活

    好久没用jrebel了,跟前端进行项目联调总是有些许改动,还是热部署方便. 目前用的idea版本:IntelliJ IDEA 2019.2 JRebel插件版本:JRebel for IntelliJ ...

  8. 【原】Python基础-异常

    def cacls(x, y): try: return x/y except ZeroDivisionError: print("y can not be zerp") exce ...

  9. 如何在虚拟机中安装kali linux

    整理笔记,把以前印象笔记中记录的一些东西翻出来,想想发个随笔吧. 第一步在官网下载kali linux的镜像. 网址:https://www.kali.org/downloads/ (我的电脑是64位 ...

  10. 2018-2019-2 20165234 《网络对抗技术》 Exp6 信息搜集与漏洞扫描

    Exp6 信息搜集与漏洞扫描 实验内容 1. 各种搜索技巧的应用 2. DNS IP注册信息的查询 3. 基本的扫描技术:主机发现.端口扫描.OS及服务版本探测.具体服务的查点(以自己主机为目标) 4 ...