用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日期的加减等操作的示例
Aug 15 Python
Pytorch入门之mnist分类实例
Apr 14 Python
Python获取昨天、今天、明天开始、结束时间戳的方法
Jun 01 Python
Tensorflow 查看变量的值方法
Jun 14 Python
对python中for、if、while的区别与比较方法
Jun 25 Python
python将txt文件读入为np.array的方法
Oct 30 Python
python实现多进程通信实例分析
Sep 01 Python
Python数据库小程序源代码
Sep 15 Python
pip安装提示Twisted错误问题(Python3.6.4安装Twisted错误)
May 09 Python
基于python实现上传文件到OSS代码实例
May 09 Python
Python远程linux执行命令实现
Nov 11 Python
python re的findall和finditer的区别详解
Nov 15 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下mysql数据库操作类(改自discuz)
2010/07/03 PHP
浅析PHP中Collection 类的设计
2013/06/21 PHP
php算法实例分享
2015/07/14 PHP
用JavaScript将从数据库中读取出来的日期型格式化为想要的类型。
2009/08/15 Javascript
裁剪字符串trim()自定义改进版
2013/04/10 Javascript
javascript实现的弹出层背景置灰-模拟(easyui dialog)
2013/12/27 Javascript
js中通过父级进行查找定位元素
2014/06/15 Javascript
JavaScript实现大数的运算
2014/11/24 Javascript
jQuery中index()方法用法实例
2014/12/27 Javascript
jquery简单图片切换显示效果实现方法
2015/01/14 Javascript
基于jQuery实现的扇形定时器附源码下载
2015/10/20 Javascript
angularjs在ng-repeat中使用ng-model遇到的问题
2016/01/21 Javascript
javascript表单正则应用
2017/02/04 Javascript
在js代码拼接dom对象到页面上去的模板总结(必看)
2017/02/14 Javascript
AngularJS实现的JSONP跨域访问数据传输功能详解
2017/07/20 Javascript
JS实现textarea通过换行或者回车把多行数字分割成数组并且去掉数组中空的值
2018/10/29 Javascript
微信小程序自定义navigationBar顶部导航栏适配所有机型(附完整案例)
2020/04/26 Javascript
js验证账户名是否重复
2020/05/26 Javascript
使用vue实现通过变量动态拼接url
2020/07/22 Javascript
vue 子组件watch监听不到prop的解决
2020/08/09 Javascript
python复制文件的方法实例详解
2015/05/22 Python
Python基于PycURL实现POST的方法
2015/07/25 Python
在OpenCV里使用特征匹配和单映射变换的代码详解
2019/10/23 Python
python Tensor和Array对比分析
2020/01/08 Python
python实现对变位词的判断方法
2020/04/05 Python
Python sorted对list和dict排序
2020/06/09 Python
Python如何绘制日历图和热力图
2020/08/07 Python
python 实现非极大值抑制算法(Non-maximum suppression, NMS)
2020/10/15 Python
娇韵诗香港官网:Clarins香港
2020/08/13 全球购物
2016幼儿园中班开学寄语
2015/12/03 职场文书
干货!开幕词的写作方法
2019/04/02 职场文书
2019最新企业员工考勤管理制度(通用版)!
2019/07/02 职场文书
MySQL之PXC集群搭建的方法步骤
2021/05/25 MySQL
Spring Boot 整合 Apache Dubbo的示例代码
2021/07/04 Java/Android
AJAX引擎原理以及XmlHttpRequest对象的axios、fetch区别详解
2022/04/09 Javascript
MySQL创建管理HASH分区
2022/04/13 MySQL