用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 yield机制的异步操作同步化编程模型
Mar 18 Python
python实现linux下抓包并存库功能
Jul 18 Python
对Python中实现两个数的值交换的集中方法详解
Jan 11 Python
python重试装饰器的简单实现方法
Jan 31 Python
python使用requests模块实现爬取电影天堂最新电影信息
Apr 03 Python
PyQt5实现简易电子词典
Jun 25 Python
TensorFlow实现保存训练模型为pd文件并恢复
Feb 06 Python
Pyspark读取parquet数据过程解析
Mar 27 Python
pandas apply多线程实现代码
Aug 17 Python
详解Python中的GIL(全局解释器锁)详解及解决GIL的几种方案
Jan 29 Python
PyCharm常用配置和常用插件(小结)
Feb 06 Python
python中os.path.join()函数实例用法
May 26 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
PHP 反向排序和随机排序代码
2010/06/30 PHP
codeigniter教程之多文件上传使用示例
2014/02/11 PHP
ThinkPHP模版中导入CSS和JS文件的方法
2014/11/29 PHP
PHP排序算法之归并排序(Merging Sort)实例详解
2018/04/21 PHP
php高性能日志系统 seaslog 的安装与使用方法分析
2020/02/29 PHP
一起来写段JS drag拖动代码
2010/12/09 Javascript
JQuery学习笔录 简单的JQuery
2012/04/09 Javascript
jquery对dom的操作常用方法整理
2013/06/25 Javascript
8个实用的jQuery技巧
2014/03/04 Javascript
node.js中的fs.fchmod方法使用说明
2014/12/16 Javascript
JavaScript设计模式之工厂方法模式介绍
2014/12/28 Javascript
JavaScript获取按钮所在form表单id的方法
2015/04/02 Javascript
使用bootstrap validator的remote验证代码经验分享(推荐)
2016/09/21 Javascript
vue.js实现刷新当前页面的方法教程
2017/07/05 Javascript
jQuery实现的下雪动画效果示例【附源码下载】
2018/02/02 jQuery
JavaScript实现仿Clock ISO时钟
2018/06/29 Javascript
微信小程序动态显示项目倒计时
2019/06/20 Javascript
小程序分享链接onShareAppMessage的具体用法
2020/05/22 Javascript
ES5和ES6中类的区别总结
2020/12/21 Javascript
解决Python网页爬虫之中文乱码问题
2018/05/11 Python
Django model反向关联名称的方法
2018/12/15 Python
Pytorch 的损失函数Loss function使用详解
2020/01/02 Python
HTML5 离线应用之打造零请求、无流量网站的解决方法
2013/04/25 HTML / CSS
国外最大的眼镜网站:Coastal
2017/08/09 全球购物
Bugatchi官方网站:男士服装在线
2019/04/10 全球购物
澳大利亚珠宝商:Shiels
2019/10/06 全球购物
大学毕业生个人自荐信范文
2014/01/08 职场文书
户籍证明的格式
2014/01/13 职场文书
2014年小学植树节活动方案
2014/03/02 职场文书
酒店仓管员岗位职责
2014/04/28 职场文书
表彰大会策划方案
2014/05/13 职场文书
建筑学专业自荐书
2014/07/09 职场文书
新婚姻法离婚协议书范文
2014/11/30 职场文书
2016幼儿教师自荐信范文
2016/01/28 职场文书
2016年主题党日活动总结
2016/04/05 职场文书
Python 读写 Matlab Mat 格式数据的操作
2021/05/19 Python