用python爬取租房网站信息的代码


Posted in Python onDecember 14, 2018

自己在刚学习python时写的,中途遇到很多问题,查了很多资料,下面就是我爬取租房信息的代码:

链家的房租网站
两个导入的包
1.requests 用来过去网页内容 
2.BeautifulSoup
import time
import pymssql
import requests
from bs4 import BeautifulSoup
#  https://wh.lianjia.com/zufang/
#获取url中下面的内容
def get_page(url):
  responce = requests.get(url)
  soup = BeautifulSoup(responce.text,'lxml')
  return soup
#封装成函数,作用是获取列表下的所有租房页面的链接,返回一个链接列表
def get_links(url):
  responce = requests.get(url)
  soup = BeautifulSoup(responce.text,'lxml')
  link_div = soup.find_all('div',class_ = 'pic-panel')
  links = [div.a.get('href') for div in link_div]
  return links
#收集一个房子的信息
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[1:-1]
  area = soup.find('p', class_ = 'lf').text
  house_info= soup.find_all('p',class_ = 'lf')
  area = house_info[0].text[3:] #字符串切片工具
  layout = house_info[1].text[5:]
  info={
    '价格':price,
    '单位':unit,
    '面积':area,
    '户型':layout
    }
  return info
#链接数据库
server="192.168.xx.xx"  #换成自己的服务器信息
user="liujiepeng"
password="xxxxx"    #自己的数据库用户名和密码
conn=pymssql.connect(server,user,password,database="house")
def insert(conn,house):
  #sql_values = values.format(house['价格'],house['单位'],house['面积'],
                #house['户型'])
  sql = "insert into [house].dbo.lianjia(price,unit,area,layout)values('%s','%s','%s','%s')"%(house["价格"],house["单位"],house["面积"],house["户型"])
  print(sql)
  cursor = conn.cursor() #游标,开拓新的窗口
  #cursor1 = conn.cursor()
  cursor.execute(sql) #执行sql语句
  conn.commit() #提交 ,更新sql 语句
links = get_links('https://wh.lianjia.com/zufang/')
count = 1
for link in links:
  #time.sleep(2)
  print('获取一个数据成功')
  house = get_house_info(link)
  insert(conn,house)
  print("第%s个数据,存入数据库成功!"%(count))
  count = count+1
  #print(house["价格"],end='\r')

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对三水点靠木的支持。如果你想了解更多相关内容请查看下面相关链接

Python 相关文章推荐
Python实现基于HTTP文件传输实例
Nov 08 Python
python开发之str.format()用法实例分析
Feb 22 Python
小议Python中自定义函数的可变参数的使用及注意点
Jun 21 Python
win10 64bit下python NLTK安装教程
Sep 19 Python
Python判断一个三位数是否为水仙花数的示例
Nov 13 Python
在Python 中同一个类两个函数间变量的调用方法
Jan 31 Python
Django 权限认证(根据不同的用户,设置不同的显示和访问权限)
Jul 24 Python
Django Python 获取请求头信息Content-Range的方法
Aug 06 Python
Python爬虫爬取电影票房数据及图表展示操作示例
Mar 27 Python
Cpython解释器中的GIL全局解释器锁
Nov 09 Python
Python实现哲学家就餐问题实例代码
Nov 09 Python
基于Pytorch版yolov5的滑块验证码破解思路详解
Feb 25 Python
从运行效率与开发效率比较Python和C++
Dec 14 #Python
对python产生随机的二维数组实例详解
Dec 13 #Python
详解Python with/as使用说明
Dec 13 #Python
在python中以相同顺序shuffle两个list的方法
Dec 13 #Python
对python GUI实现完美进度条的示例详解
Dec 13 #Python
PyTorch 1.0 正式版已经发布了
Dec 13 #Python
修改python plot折线图的坐标轴刻度方法
Dec 13 #Python
You might like
Mac系统下使用brew搭建PHP(LNMP/LAMP)开发环境
2015/03/03 PHP
php正则preg_replace_callback函数用法实例
2015/06/01 PHP
tp5(thinkPHP5)框架连接数据库的方法示例
2018/12/24 PHP
ExtJS Window 最小化的一种方法
2009/11/18 Javascript
合并table相同单元格的jquery插件分享(很精简)
2011/06/20 Javascript
计算新浪Weibo消息长度(还可以输入119字)
2013/07/02 Javascript
jQuery Mobile 导航栏代码
2013/11/01 Javascript
jQuery之过滤元素操作小结
2013/11/30 Javascript
Javascript 中创建自定义对象的方法汇总
2014/12/04 Javascript
JavaScript中的slice()方法使用详解
2015/06/06 Javascript
Javascript验证Visa和MasterCard信用卡号的方法
2015/07/27 Javascript
javascript判断网页是关闭还是刷新
2015/09/12 Javascript
基于jQuery Ajax实现上传文件
2016/03/24 Javascript
javascript实现起伏的水波背景效果
2016/05/16 Javascript
JavaScript中判断数据类型的方法总结
2016/05/24 Javascript
jQuery操作json常用方法示例
2017/01/04 Javascript
对存在JavaScript隐式类型转换的四种情况的总结(必看篇)
2017/08/31 Javascript
详解angular笔记路由之angular-router
2017/09/12 Javascript
微信小程序slider组件使用详解
2018/01/31 Javascript
vue刷新和tab切换实例
2018/02/11 Javascript
微信实现自动跳转到用其他浏览器打开指定APP下载
2019/02/15 Javascript
使用vuex解决刷新页面state数据消失的问题记录
2019/05/08 Javascript
python从ftp下载数据保存实例
2013/11/20 Python
学习python中matplotlib绘图设置坐标轴刻度、文本
2018/02/07 Python
Python实现的knn算法示例
2018/06/14 Python
keras模型保存为tensorflow的二进制模型方式
2020/05/25 Python
pandas之分组groupby()的使用整理与总结
2020/06/18 Python
python破解同事的压缩包密码
2020/10/14 Python
Python实现简单的猜单词小游戏
2020/10/28 Python
pandas抽取行列数据的几种方法
2020/12/13 Python
预订旅游活动、景点和旅游:GetYourGuide
2019/09/29 全球购物
秋冬农业生产标语
2014/10/09 职场文书
如何书写民事调解协议书?
2019/06/25 职场文书
MySQL系列之十二 备份与恢复
2021/07/02 MySQL
Go语言基础知识点介绍
2021/07/04 Golang
windows安装 redis 6.2.6最新步骤详解
2022/04/26 Redis