返回顶部
首页 > 资讯 > 后端开发 > Python >Python爬取租房数据实例是怎么样的
  • 433
分享到

Python爬取租房数据实例是怎么样的

2023-06-04 23:06:23 433人浏览 安东尼

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

摘要

这篇文章给大家介绍python爬取租房数据实例是怎么样的,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。一、什么叫爬虫爬虫,又名“网络爬虫”,就是能够自动访问互联网并将网站内容下载下来的程序。它也是搜索引擎的基础,像百度

这篇文章给大家介绍python爬取租房数据实例是怎么样的,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

一、什么叫爬虫

爬虫,又名“网络爬虫”,就是能够自动访问互联网并将网站内容下载下来的程序。它也是搜索引擎的基础,像百度和GoOGLE都是凭借强大的网络爬虫,来检索海量的互联网信息的然后存储到云端,为网友提供优质的搜索服务的。

二、爬虫有什么用

你可能会说,除了做搜索引擎的公司,学爬虫有什么用呢?哈哈,总算有人问到点子上了。打个比方吧:企业A建了个用户论坛,很多用户在论坛上留言讲自己的使用体验等等。现在A需要了解用户需求,分析用户偏好,为下一轮产品迭代更新做准备。那么数据如何获取,当然是需要爬虫软件从论坛上获取咯。所以除了百度、GOOGLE之外,很多企业都在高薪招聘爬虫工程师。你到任何招聘网站上搜“爬虫工程师”看看岗位数量和薪资范围就懂爬虫有多热门了。

三、爬虫的原理

发起请求:通过Http协议向目标站点发送请求(一个request),然后等待目标站点服务器的响应。

获取响应内容:如果服务器能正常响应,会得到一个Response。Response的内容便是所要获取的页面内容,响应的内容可能有htmlJSON串,二进制数据(如图片视频)等等。

解析内容:得到的内容可能是HTML,可以用正则表达式、网页解析库进行解析;可能是json,可以直接转为Json对象解析;可能是二进制数据,可以做保存或者进一步的处理。

保存数据:数据解析完成后,将保存下来。既可以存为文本文档、可以存到数据库中。

四、python爬虫实例

前面介绍了爬虫的定义、作用、原理等信息,相信有不少小伙伴已经开始对爬虫感兴趣了,准备跃跃欲试呢。那现在就来上“干货”,直接贴上一段简单Python爬虫的代码:

前期准备工作:安装Python环境、安装PyCharm软件、安装MYSQL数据库、新建数据库exam、在exam中建一张用于存放爬虫结果的表格house [sql语句:create table house(price varchar(88),unit varchar(88),area varchar(88));]

爬虫的目标:爬取某租房网上首页中所有链接里的房源的价格、单位及面积,然后将爬虫结构存到数据库中。

爬虫源代码:如下

import requests #请求 URL 页面内容

from bs4 import BeautifulSoup #获取页面元素

import pyMysql #链接数据库

import time #时间函数

import lxml #解析库(支持 HTML\XML 解析,支持 XPATH 解析)

#get_page 函数作用:通过 requests 的 get 方法得到 url 链接的内容,再整合成BeautifulSoup 可以处理的格式

def get_page(url):

response = requests.get(url)

soup = BeautifulSoup(response.text, 'lxml')

return soup

#get_links 函数的作用:获取列表页所有租房链接

def get_links(link_url):

soup = get_page(link_url)

links_div = soup.find_all('div',class_="pic-panel")

links=[div.a.get('href') for div in links_div]

return links

#get_house_info 函数作用是:获取某一个租房页面的信息:价格、单位、面积等

def get_house_info(house_url):

soup = get_page(house_url)

price =soup.find('span',class_='total').text

unit = soup.find('span',class_='unit').text.strip()

area = 'test' #这里 area 字段我们自定义一个 test 做测试

info = {

'价格':price,

'单位':unit,

'面积':area

}

return info

#数据库的配置信息写到字典

DataBase ={

'host': '127.0.0.1',

'database': 'exam',

'user' : 'root',

'passWord' : 'root',

'charset' :'utf8mb4'}

#链接数据库

def get_db(setting):

return pymysql.connect(**setting)

#向数据库插入爬虫得到的数据

def insert(db,house):

values = "'{}',"*2 + "'{}'"

sql_values = values.fORMat(house['价格'],house['单位'],house['面积'])

sql ="""

insert into house(price,unit,area) values({})

""".format(sql_values)

cursor = db.cursor()

cursor.execute(sql)

db.commit()

#主程序流程:1.连接数据库 2.得到各个房源信息的 URL 列表 3.FOR 循环从第一个 URL 开始获取房源具体信息(价格等)4.一条一条地插入数据库

db = get_db(DataBase)

links = get_links('https://bj.lianjia.com/zufang/')

for link in links:

time.sleep(2)

house = get_house_info(link)

insert(db,house)

首先,“工欲善其事必先利其器”,用 Python 写爬虫程序也是一样的道理,写爬虫过程中需要导入各种库文件,正是这些及其有用的库文件帮我们完成了爬虫的大部分工作,我们只需要调取相关的借口函数即可。导入的格式就是 import 库文件名。这里要注意的是在 PYCHARM 里安装库文件,可以通过光标放在库文件名称上,同时按ctrl+alt 键的方式来安装,也可以通过命令行(Pip install 库文件名)的方式安装,如果安装失败或者没有安装,那么后续爬虫程序肯定会报错的。在这段代码里,程序前五行都是导入相关的库文件:requests 用于请求 URL 页面内容;BeautifulSoup 用来解析页面元素;pymysql 用于连接数据库;time 包含各种时间函数;lxml 是一个解析库,用于解析 HTML、XML 格式的文件,同时它也支持 XPATH 解析。

其次,我们从代码最后的主程序开始看整个爬虫流程:

通过 get_db 函数连接数据库。再深入到 get_db 函数内部,可以看到是通过调用Pymysql 的 connect 函数来实现数据库的连接的,这里**seting 是 Python 收集关键字参数的一种方式,我们把数据库的连接信息写到一个字典 DataBase 里了,将字典里的信息传给 connect 做实参。

通过 get_links 函数,获取链家网租房首页的所有房源的链接。所有房源的链接以列表形式存在 Links 里。get_links 函数先通过 requests 请求得到链家网首页页面的内容,再通过 BeautifuSoup 的接口来整理内容的格式,变成它可以处理的格式。最后通过电泳find_all 函数找到所有包含图片的 div 样式,再通过一个 for 循环来获得所有 div 样式里包含的超链接页签(a)的内容(也就是 href 属性的内容),所有超链接都存放在列表links 中。

通过 FOR 循环,来遍历 links 中的所有链接(比如其中一个链接是:https://bj.lianjia.com/zufang/101101570737.html)

用和 2)同样的方法,通过使用 find 函数进行元素定位获得 3)中链接里的价格、单位、面积信息,将这些信息写到一个字典 Info 里面。

调用 insert 函数将某一个链接里得到的 Info 信息写入数据库的 house 表中去。深入到 insert 函数内部,我们可以知道它是通过数据库的游标函数 cursor()来执行一段 SQL语句然后数据库进行 commit 操作来实现响应功能。这里 SQL 语句的写法比较特殊,用到了 format 函数来进行格式化,这样做是为了便于函数的复用。

最后,运行一下爬虫代码,可以看到链家网的首页所有房源的信息都写入到数据里了。(注:test 是我手动指定的测试字符串

Python爬取租房数据实例是怎么样的

后记:其实 Python 爬虫并不难,熟悉整个爬虫流程之后,就是一些细节问题需要注意,比如如何获取页面元素、如何构建 SQL 语句等等。遇到问题不要慌,看 IDE 的提示就可以一个个地消灭 BUG,最终得到我们预期的结构。

关于Python爬取租房数据实例是怎么样的就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

--结束END--

本文标题: Python爬取租房数据实例是怎么样的

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

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

猜你喜欢
  • Python爬取租房数据实例是怎么样的
    这篇文章给大家介绍Python爬取租房数据实例是怎么样的,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。一、什么叫爬虫爬虫,又名“网络爬虫”,就是能够自动访问互联网并将网站内容下载下来的程序。它也是搜索引擎的基础,像百度...
    99+
    2023-06-04
  • 怎么使用python爬虫爬取二手房数据
    这篇文章主要介绍怎么使用python爬虫爬取二手房数据,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!python的数据类型有哪些python的数据类型:1. 数字类型,包括int(整型)、long(长整型)和floa...
    99+
    2023-06-14
  • Python怎么爬取城市租房信息
    这篇文章主要介绍了Python怎么爬取城市租房信息的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python怎么爬取城市租房信息文章都会有所收获,下面我们一起来看看吧。思路:先单线程爬虫,测试可以成功爬取之后再...
    99+
    2023-06-30
  • Python爬虫入门案例之爬取二手房源数据
    本文重点 系统分析网页性质 结构化的数据解析 csv数据保存 环境介绍 python 3.8 pycharm 专业版 >>&...
    99+
    2024-04-02
  • python爬取链家二手房的数据
    目录一、查找数据所在位置:二、确定数据存放位置:三、获取html数据:四、解析html,提取有用数据:一、查找数据所在位置: 打开链家官网,进入二手房页面,选取某个城市,可以看到该城市房源总数以及房源列表数据。 ...
    99+
    2022-06-02
    python 爬虫 python 爬取链家 python 爬取二手房数据
  • Python实现爬取房源信息的示例详解
    目录前言分析页面,寻找切入点爬取数据整理数据,导出文件前言 最近由于工作突然变动,新的办公地点离现在的住处很远,必须要换房子租了。 我坐上中介的小电驴,开始探索城市各处的陌生角落。 ...
    99+
    2024-04-02
  • 怎样用Python爬取淘宝评论数据
    今天就跟大家聊聊有关怎样用Python爬取淘宝评论数据,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。【项目准备工作】 准备Pycharm,下载安装等,不会安装的,可以回复:pytho...
    99+
    2023-06-01
  • 怎么用Python爬取数据
    这篇文章主要介绍“怎么用Python爬取数据”,在日常操作中,相信很多人在怎么用Python爬取数据问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么用Python爬取数据”的疑惑有所帮助!接下来,请跟着小编...
    99+
    2023-06-16
  • 怎么使用python爬虫爬取数据
    本篇内容介绍了“怎么使用python爬虫爬取数据”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!python爬出六部曲第一步:安装reques...
    99+
    2023-06-29
  • Python股票数据定向爬虫是怎么样的
    Python股票数据定向爬虫是怎么样的,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。功能简介目标: 获取上交所和深交所所有股票的名称和交易信息。输出: 保存到文件中。技术路线:...
    99+
    2023-06-17
  • Python手拉手教你爬取贝壳房源数据的实战教程
    目录一、爬虫是什么? 二、使用步骤1.引入库2.读入数据3.随机选择一个ip地址构建代理服务器4.运行代码总结一、爬虫是什么?  在进行大数据分析或者进行数据挖掘...
    99+
    2024-04-02
  • 使用python怎么爬取数据
    使用python怎么爬取数据?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。Python的优点有哪些1、简单易用,与C/C++、Java、C# 等传统语言相比,P...
    99+
    2023-06-14
  • python怎么爬取天气数据
    要爬取天气数据,你可以使用 Python 中的第三方库如 requests 和 BeautifulSoup。以下是一个简单的示例,演...
    99+
    2023-08-31
    python
  • Python中怎么爬取音频数据
    本篇文章为大家展示了Python中怎么爬取音频数据,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。  分析频道下面就是开始获取每个频道中的全部音频数据了,前面通过解析页面获取到了美...
    99+
    2023-06-17
  • 怎么用python爬取网站数据
    要用Python爬取网站数据,可以使用Python的爬虫库来实现。下面是一个简单的示例,使用`requests`库来获取网页内容,使...
    99+
    2023-09-07
    python
  • python爬虫抓取数据的步骤是什么
    Python爬虫抓取数据的步骤通常包括以下几个步骤:1. 导入相关库:导入所需的库,例如requests用于发送HTTP请求,Bea...
    99+
    2023-09-08
    python
  • python爬虫获取数据的方法是什么
    Python爬虫获取数据的方法有以下几种:1. 使用第三方库:Python有很多强大的第三方库,如Requests、Beautifu...
    99+
    2023-10-19
    python
  • python怎么爬取数据保存到数据库
    要将爬取的数据保存到数据库,可以使用Python的数据库模块(如SQLite、MySQL、MongoDB等)将数据插入到数据库中。以...
    99+
    2023-09-08
    python 数据库
  • Python爬取数据存入MySQL的方法是什么
    Python爬取数据存入MySQL的方法有以下几种: 使用Python的MySQLdb模块:MySQLdb是Python与MySQ...
    99+
    2024-02-29
    Python MySQL
  • 利用Python爬虫爬取金融期货数据的案例分析
    目录任务简介解决步骤代码实现总结大家好 我是政胤今天教大家爬取金融期货数据 任务简介 首先,客户原需求是获取https://hq.smm.cn/copper网站上的价格数据(注:获取...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作