返回顶部
首页 > 资讯 > 后端开发 > Python >如何用python抓取链家网二手房数据
  • 839
分享到

如何用python抓取链家网二手房数据

2023-06-04 14:06:10 839人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

本篇内容介绍了“如何用python抓取链家网二手房数据”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!# -*- coding: utf-8i

本篇内容介绍了“如何用python抓取链家网二手房数据”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

# -*- coding: utf-8
import urllib2
import urllib
import re,os
import time
#from bs4 import BeautifulSoup
import sys
reload(sys)
sys.setdefaultencoding('utf-8')


class HomeLink:
    #初始化数据
    def __init__(self,base_url):
        self.base_url = base_url
        self.page = 1
        self.out_put_file = 'D:/Python/test/house.txt'
        self.user_agent = 'Mozilla/4.0 (compatible; MSIE 5.5; windows NT)'
        self.headers = { 'User-Agent' : self.user_agent }


    #获取页面内容
    def get_content(self,url):
        try:
            request = urllib2.Request(url,headers=self.headers)
            response = urllib2.urlopen(request)
            act_url = response.geturl()
            print 'init url=',url,'act url=',act_url
            if url == act_url:
                content = response.read()
                return content
            else:
                return None
        except urllib2.URLError, e:
            if hasattr(e,"reason"):
                print u"连接页面失败,错误原因",e.reason
                return None

    #获取每个区的起始url链接地址
    def get_region_url(self):
        d_region_url = {}
        content = self.get_content(self.base_url)
        pattern = re.compile('<a href="(/ershoufang/\w+/)"  title=".*?">(.*?)</a>',re.S)
        result = re.findall(pattern,content)
        if result:
            for x in result:
                d_region_url[x[1]] = x[0]
        else:
            pass
        return d_region_url


    #获取每个区的所有页面url地址列表
    def get_region_url_list(self,region_url):
        page_num = self.get_page_num(region_url)
        l_url = [region_url+'pg'+str(i)+'/' for i in range(2,page_num+1)]
        return l_url

    #获取总页数
    def get_page_num(self,url):
        content = self.get_content(url)
        pattern = re.compile('{"totalPage":(\d+),"curPage":1}',re.S)
        result = re.search(pattern,content)
        if result:
            return int(result.group(1).strip())
        else:
            return None
    #获取每套房子的房价信息
    def get_house_info(self,url,region):
        content = self.get_content(url)
        pattern = re.compile('<a href=".*?" target="_blank" data-log_index="\d+" data-el="region">' +
                '(.*?)</a>(.*?)</div>.*?</a></div>.*?</div>'
                + '.*?<div class="totalPrice"><span>(\d+)(\S+)</div>',re.S)
        result = re.findall(pattern,content)
        if result:
            for x in result:
                l = x[1].split('|')
                rooms,area,direct,other = l[1],l[2],l[3],l[4]
                s_str = '|'.join([region,x[0],rooms,area,direct,other,x[2],x[3]])
                self.writeStr2File(self.out_put_file,s_str)
        else:
            return None
    #开始抓取链家网房价数据
    def start_scrapy(self):
        d_region_url = self.get_region_url()
        for k in d_region_url:
            region = k
            region_init_url = 'Http://bj.lianjia.com' + d_region_url[region]
            l_region_url = self.get_region_url_list(region_init_url)
            for url in l_region_url:
                time.sleep(1)
                url = url.strip()
                self.get_house_info(url,region)
    #写文件
    def writeStr2File(self,out_put_file,str1,append = 'a'):
        # 去掉文件,保留路径。比如 'a/b/c/d.txt' 经过下面代码会变成 'a/b/c'
        subPath = out_put_file[:self.out_put_file.rfind('/')]
        # 如果给定的路径中,文件夹不存在,则创建
        if not os.path.exists(subPath):
            os.makedirs(subPath)
        # 打开文件并将 str 内容写入给定的文件
        with open(out_put_file, append) as f:
            f.write(str1.strip()+'\n')
url = 'http://bj.lianjia.com/ershoufang/'
home = HomeLink(url)
home.start_scrapy()

“如何用python抓取链家网二手房数据”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

--结束END--

本文标题: 如何用python抓取链家网二手房数据

本文链接: https://lsjlt.com/news/238173.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 如何用python抓取链家网二手房数据
    本篇内容介绍了“如何用python抓取链家网二手房数据”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!# -*- coding: utf-8i...
    99+
    2023-06-04
  • python爬取链家二手房的数据
    目录一、查找数据所在位置:二、确定数据存放位置:三、获取html数据:四、解析html,提取有用数据:一、查找数据所在位置: 打开链家官网,进入二手房页面,选取某个城市,可以看到该城市房源总数以及房源列表数据。 ...
    99+
    2022-06-02
    python 爬虫 python 爬取链家 python 爬取二手房数据
  • 如何通过python抓取二手房价数据
    这篇文章主要讲解了“如何通过python抓取二手房价数据”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何通过python抓取二手房价数据”吧!模块安装同上次新房一样,这里需要安装以下模块(...
    99+
    2023-06-16
  • python如何进行爬取链家二手房租赁信息
    本篇文章给大家分享的是有关python如何进行爬取链家二手房租赁信息,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。大家在外打拼的时候都需要租房子住,于是大家就会上各种房子租赁的...
    99+
    2023-06-02
  • Python爬虫之如何爬取我爱我家二手房数据
    这篇文章给大家分享的是有关Python爬虫之如何爬取我爱我家二手房数据的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一、问题说明首先,运行下述代码,复现问题:# -*-coding:utf-8-*-im...
    99+
    2023-06-15
  • Python爬虫之爬取我爱我家二手房数据
    目录一、问题说明二、解决方法三、完整代码四、数据展示一、问题说明 首先,运行下述代码,复现问题: # -*-coding:utf-8-*- import re import r...
    99+
    2024-04-02
  • 怎么使用python爬虫爬取二手房数据
    这篇文章主要介绍怎么使用python爬虫爬取二手房数据,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!python的数据类型有哪些python的数据类型:1. 数字类型,包括int(整型)、long(长整型)和floa...
    99+
    2023-06-14
  • Python scrapy爬取苏州二手房交易数据
    一、项目需求 使用Scrapy爬取链家网中苏州市二手房交易数据并保存于CSV文件中 要求: 房屋面积、总价和单价只需要具体的数字,不需要单位名称。 删除字段不全的房屋数据,如有的房屋朝向会显示“暂无数据”,应该剔除。...
    99+
    2022-06-02
    scrapy爬取二手房交易数据 python scrapy框架
  • php如何抓取网页数据
    在PHP中,可以使用cURL库来抓取网页数据。cURL(Client URL)是一个用于在PHP中进行网络通信的库,可以发送HTTP...
    99+
    2023-09-15
    php
  • 如何用python抓取B站数据
    目录概述我是对比快速开始1)安装过程2)获取弹幕数据3)绘制词云4)最终效果小结概述 可以获取的数据包括: video-视频模块 user-用户模块 dynamic-动态模块 这次用“Running Man”十周年特...
    99+
    2022-06-02
    python 抓取 python B站
  • 怎么用Python抓取国家医疗费用数据
    这篇文章主要介绍“怎么用Python抓取国家医疗费用数据”,在日常操作中,相信很多人在怎么用Python抓取国家医疗费用数据问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么用Python抓取国家医疗费用数据...
    99+
    2023-06-16
  • 如何在Python中进行网络数据抓取
    如何在Python中进行网络数据抓取网络数据抓取是指从互联网上获取信息的过程,在Python中,有许多强大的库可以帮助我们实现这个目标。本文将介绍如何使用Python进行网络数据抓取,并提供具体的代码示例。安装必要的库在开始之前,我们需要安...
    99+
    2023-10-22
    数据抓取 Python编程 网络数据抓取
  • 如何用 Python 抓取 javascript 网站?
    问题内容 我正在尝试抓取一个网站。我尝试过使用两种方法,但两种方法都没有为我提供我正在寻找的完整网站源代码。我正在尝试从下面提供的网站 url 中抓取新闻标题。 网址:“https:/...
    99+
    2024-02-10
    webdriver
  • Python爬虫入门案例之爬取二手房源数据
    本文重点 系统分析网页性质 结构化的数据解析 csv数据保存 环境介绍 python 3.8 pycharm 专业版 >>&...
    99+
    2024-04-02
  • Fiddler如何抓取手机APP数据包
    Fiddler,这个是所有软件开发者必备神器!这款工具不仅可以抓取PC上开发web时候的数据包,而且可以抓取移动端(Android,Iphone,WindowPhone等都可以)。 第一步:下载神器Fidd...
    99+
    2022-06-04
    数据包 手机 Fiddler
  • Python如何实现对某地区二手房房价进行数据分析
    这篇文章主要介绍了Python如何实现对某地区二手房房价进行数据分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。房价数据分析数据简单清洗data.csv数据显示# ...
    99+
    2023-06-21
  • Python如何逆向抓取APP数据
    本篇内容介绍了“Python如何逆向抓取APP数据”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!所需设备和环境:设备:安卓手机抓包:fidd...
    99+
    2023-06-16
  • 如何使用Python逆向抓取APP数据
    今天给大伙分享一下 Python 爬虫的教程,这次主要涉及到的是关于某 APP 的逆向分析并抓取数据,关于 APP 的反爬会麻烦一些,比如 Android 端的代码写完一般会进行打包并混淆加密加固,所以除了抓包之外,...
    99+
    2022-06-02
    Python逆向抓取APP数据 Python逆向抓取 Python 抓取APP数据
  • 如何让用Python对2019年二手房价格进行数据分析
    这期内容当中小编将会给大家带来有关如何让用Python对2019年二手房价格进行数据分析,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。利用爬到数据的进行数据分析。在文章中,用到pandas、seaborn...
    99+
    2023-06-16
  • Python中如何利用appium抓取app应用数据
    今天就跟大家聊聊有关Python中如何利用appium抓取app应用数据,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。什么是selenium?Selenium原本是一个用于Web应用...
    99+
    2023-06-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作