用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如何获取服务器硬件信息
May 11 Python
多版本Python共存的配置方法
May 22 Python
Python实现字典去除重复的方法示例
Jul 31 Python
python利用urllib和urllib2访问http的GET/POST详解
Sep 27 Python
利用Python循环(包括while&for)各种打印九九乘法表的实例
Nov 06 Python
python获取当前目录路径和上级路径的实例
Apr 26 Python
python获取代码运行时间的实例代码
Jun 11 Python
Python中py文件转换成exe可执行文件的方法
Jun 14 Python
十行代码使用Python写一个USB病毒
Jun 21 Python
pycharm运行程序时看不到任何结果显示的解决
Feb 21 Python
解决更改AUTH_USER_MODEL后出现的问题
May 14 Python
Python类成员继承重写的实现
Sep 16 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
使用JSON实现数据的跨域传输的php代码
2011/12/20 PHP
php实现屏蔽掉黑帽SEO的搜索关键字
2015/04/15 PHP
Jquery插件 easyUI属性汇总
2011/01/19 Javascript
jQuery ui autocomplete选择列表被Bootstrap模态窗遮挡的完美解决方法
2016/09/23 Javascript
easyUI实现(alert)提示框自动关闭的实例代码
2016/11/07 Javascript
nodejs搭建本地服务器并访问文件的方法
2017/03/03 NodeJs
Angularjs过滤器实现动态搜索与排序功能示例
2017/12/13 Javascript
webpack打包js的方法
2018/03/12 Javascript
Node.js中你不可不精的Stream(流)
2018/06/08 Javascript
详解Vue iview IE浏览器不兼容报错(Iview Bable polyfill)
2019/01/07 Javascript
微信小程序去除左上角返回键的实现方法
2020/03/06 Javascript
vue 封装 Adminlte3组件的实现
2020/03/18 Javascript
JavaScript ECMA-262-3 深入解析(二):变量对象实例详解
2020/04/25 Javascript
Javascript查看大图功能代码实现
2020/05/07 Javascript
vue点击按钮实现简单页面的切换
2020/09/08 Javascript
详细分析JavaScript中的深浅拷贝
2020/09/17 Javascript
在Python中使用defaultdict初始化字典以及应用方法
2018/10/31 Python
Python日期时间Time模块实例详解
2019/04/15 Python
python 数据提取及拆分的实现代码
2019/08/26 Python
Python Django2.0集成Celery4.1教程
2019/11/19 Python
Python Handler处理器和自定义Opener原理详解
2020/03/05 Python
django执行数据库查询之后实现返回的结果集转json
2020/03/31 Python
python实现登录与注册系统
2020/11/30 Python
CSS3 text shadow字体阴影效果
2016/01/08 HTML / CSS
优衣库美国官网:UNIQLO美国
2018/04/14 全球购物
自荐信的格式
2014/03/10 职场文书
给校长的建议书400字
2014/05/15 职场文书
大学新生入学教育方案
2014/05/16 职场文书
刑事辩护授权委托书
2014/09/13 职场文书
完整版商业计划书
2014/09/15 职场文书
警察正风肃纪剖析材料
2014/10/16 职场文书
2014年体育教师工作总结
2014/12/03 职场文书
幼儿园开学通知
2015/04/24 职场文书
幼儿园推普周活动总结
2015/05/07 职场文书
python实现黄金分割法的示例代码
2021/04/28 Python
解决ObjectMapper.convertValue() 遇到的一些问题
2021/06/30 Java/Android