用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 urlopen 使用小示例
Sep 06 Python
Python 文件重命名工具代码
Jul 26 Python
python回溯法实现数组全排列输出实例分析
Mar 17 Python
Python文件读取的3种方法及路径转义
Jun 21 Python
R语言 vs Python对比:数据分析哪家强?
Nov 17 Python
Python3中正则模块re.compile、re.match及re.search函数用法详解
Jun 11 Python
Python3.5文件修改操作实例分析
May 01 Python
python 一个figure上显示多个图像的实例
Jul 08 Python
Tensorflow 卷积的梯度反向传播过程
Feb 10 Python
python的Jenkins接口调用方式
May 12 Python
Django实现文章详情页面跳转代码实例
Sep 16 Python
K近邻法(KNN)相关知识总结以及如何用python实现
Jan 28 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
vs中通过剪切板循环来循环粘贴不同内容
2011/04/30 PHP
PHP框架Swoole定时器Timer特性分析
2014/08/19 PHP
PHP浮点数精度问题汇总
2015/05/13 PHP
php基于Fleaphp框架实现cvs数据导入MySQL的方法
2016/02/23 PHP
LNMP部署laravel以及xhprof安装使用教程
2017/09/14 PHP
javascript下查找父节点的简单方法
2007/08/13 Javascript
javascript firefox 自动加载iframe 自动调整高宽示例
2013/08/27 Javascript
JS选项卡动态替换banner图片路径的方法
2015/05/11 Javascript
javaScript中with函数用法实例分析
2015/06/08 Javascript
使用jQuery制作Web页面遮罩层插件的实例教程
2016/05/26 Javascript
最实用的jQuery分页插件
2016/10/09 Javascript
微信小程序 POST请求(网络请求)详解及实例代码
2016/11/16 Javascript
JS实现的按钮点击颜色切换功能示例
2017/10/19 Javascript
Javascript 之封装(Package)
2018/09/14 Javascript
vue cli使用融云实现聊天功能的实例代码
2019/04/19 Javascript
JavaScript实现的开关灯泡点击切换特效示例
2019/07/08 Javascript
JavaScript Image对象实现原理实例解析
2020/08/26 Javascript
[03:28]2014DOTA2国际邀请赛 走近EG战队天才中单Arteezy
2014/07/12 DOTA
[02:03]《现实生活中的DOTA2》—林书豪&DOTA2职业选手出演短片
2015/08/18 DOTA
Python实现3行代码解简单的一元一次方程
2014/08/18 Python
Python学习笔记之os模块使用总结
2014/11/03 Python
在Python中处理字符串之ljust()方法的使用简介
2015/05/19 Python
python+matplotlib实现动态绘制图片实例代码(交互式绘图)
2018/01/20 Python
python Pandas 读取txt表格的实例
2018/04/29 Python
学习python可以干什么
2019/02/26 Python
Python3实现汉语转换为汉语拼音
2019/07/08 Python
通过 Python 和 OpenCV 实现目标数量监控
2020/01/05 Python
基于python3实现倒叙字符串
2020/02/18 Python
如何基于matlab相机标定导出xml文件
2020/11/02 Python
CSS3 真的会替代 SCSS 吗
2021/03/09 HTML / CSS
详解canvas多边形(蜘蛛图)的画法示例
2018/01/29 HTML / CSS
C#如何判断当前用户是否输入某个域
2015/12/07 面试题
委托公证书
2014/04/08 职场文书
万里长城导游词
2015/01/30 职场文书
Python批量将csv文件转化成xml文件的实例
2021/05/10 Python
SpringCloud之@FeignClient()注解的使用方式
2021/09/25 Java/Android