用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的字典和列表的使用中一些需要注意的地方
Apr 24 Python
在Python中使用全局日志时需要注意的问题
May 06 Python
Python通过DOM和SAX方式解析XML的应用实例分享
Nov 16 Python
Python设计模式之门面模式简单示例
Jan 09 Python
Python中property函数用法实例分析
Jun 04 Python
python实现一个简单的ping工具方法
Jan 31 Python
Python给图像添加噪声具体操作
Mar 03 Python
解决pycharm remote deployment 配置的问题
Jun 27 Python
Python IDE环境之 新版Pycharm安装详细教程
Mar 05 Python
pymysql之cur.fetchall() 和cur.fetchone()用法详解
May 15 Python
Python-openCV开运算实例
Jul 05 Python
Python利用socket模块开发简单的端口扫描工具的实现
Jan 27 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
Laravel 数据库加密及数据库表前缀配置方法
2019/10/10 PHP
yii 框架实现按天,月,年,自定义时间段统计数据的方法分析
2020/04/04 PHP
javascript中利用数组实现的循环队列代码
2010/01/24 Javascript
Cookie 小记
2010/04/01 Javascript
jquery的Theme和Theme Switcher使用小结
2010/09/08 Javascript
更换select下拉菜单背景样式的实现代码
2011/12/20 Javascript
原生javascript和jquery判断浏览器版本等信息
2013/07/04 Javascript
JQuery简单实现锚点链接的平滑滚动
2015/05/03 Javascript
JavaScript实现仿网易通行证表单验证
2015/05/25 Javascript
jQuery插件制作之全局函数用法实例
2015/06/01 Javascript
jQuery 1.9.1源码分析系列(十)事件系统之主动触发事件和模拟冒泡处理
2015/11/24 Javascript
原生态js,鼠标按下后,经过了那些单元格的简单实例
2016/08/11 Javascript
Angular ng-repeat遍历渲染完页面后执行其他操作详细介绍
2016/12/13 Javascript
JS中使用 after 伪类清除浮动实例
2017/03/01 Javascript
JavaScript原生数组Array常用方法
2017/04/06 Javascript
jQuery的时间datetime控件在AngularJs中的使用实例(分享)
2017/08/17 jQuery
Nodejs实现爬虫抓取数据实例解析
2018/07/05 NodeJs
vue-cli和v-charts实现可视化图表过程解析
2019/10/08 Javascript
利用Python的Django框架生成PDF文件的教程
2015/07/22 Python
TensorFlow实现卷积神经网络CNN
2018/03/09 Python
详解Python中的type和object
2018/08/15 Python
基于python的ini配置文件操作工具类
2019/04/24 Python
Django框架使用内置方法实现登录功能详解
2019/06/12 Python
python3 常见解密加密算法实例分析【base64、MD5等】
2019/12/19 Python
浅谈在django中使用redirect重定向数据传输的问题
2020/03/13 Python
基于keras中的回调函数用法说明
2020/06/17 Python
pandas按照列的值排序(某一列或者多列)
2020/12/13 Python
利用CSS3的3D效果制作正方体
2020/03/10 HTML / CSS
中文专业学生自我评价范文
2014/02/06 职场文书
市场营销工作计划书
2014/05/06 职场文书
群众路线剖析材料
2014/09/30 职场文书
2014年学生会干事工作总结
2014/11/07 职场文书
2014教师年度思想工作总结
2014/11/10 职场文书
GoLang中生成UUID唯一标识的实现
2021/05/08 Golang
redis不能访问本机真实ip地址的解决方案
2021/07/07 Redis
一文搞懂PHP中的抽象类和接口
2022/05/25 PHP