用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使用cookielib库示例分享
Mar 03 Python
使用python解析xml成对应的html示例分享
Apr 02 Python
Python通过解析网页实现看报程序的方法
Aug 04 Python
基于Python的身份证号码自动生成程序
Aug 15 Python
python获取目录下所有文件的方法
Jun 01 Python
python利用Guetzli批量压缩图片
Mar 23 Python
解析Python中的eval()、exec()及其相关函数
Dec 20 Python
python爬虫面试宝典(常见问题)
Mar 02 Python
python for循环输入一个矩阵的实例
Nov 14 Python
Python浮点数四舍五入问题的分析与解决方法
Nov 19 Python
Python实现数值积分方式
Nov 20 Python
Python tkinter和exe打包的方法
Feb 05 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新手上路(二)
2006/10/09 PHP
使用PHP获取汉字的拼音(全部与首字母)
2013/06/27 PHP
php采集自中央气象台范围覆盖全国的天气预报代码实例
2015/01/04 PHP
微信支付之JSAPI公众号支付详解
2019/05/15 PHP
Javascript 日期对象Date扩展方法
2009/05/30 Javascript
javascript 二维数组的实现与应用
2010/03/16 Javascript
js读取并解析JSON类型数据的方法
2015/11/14 Javascript
js添加绑定事件的方法
2016/05/15 Javascript
jQuery提示插件qTip2用法分析(支持ajax及多种样式)
2016/06/08 Javascript
Javascript 创建类并动态添加属性及方法的简单实现
2016/10/20 Javascript
一篇文章让你彻底弄懂JS的事件冒泡和事件捕获
2017/08/14 Javascript
Angular 组件之间的交互的示例代码
2018/03/24 Javascript
jquery 通过ajax请求获取后台数据显示在表格上的方法
2018/08/08 jQuery
vue 登录滑动验证实现代码
2018/08/24 Javascript
sortable+element 实现表格行拖拽的方法示例
2019/06/07 Javascript
jQuery实现全选、反选和不选功能的方法详解
2019/12/04 jQuery
Python的gevent框架的入门教程
2015/04/29 Python
使用Python编写简单的画图板程序的示例教程
2015/12/08 Python
python用装饰器自动注册Tornado路由详解
2017/02/14 Python
解决PyCharm控制台输出乱码的问题
2019/01/16 Python
Python基础学习之函数方法实例详解
2019/06/18 Python
对Python3之方法的覆盖与super函数详解
2019/06/26 Python
基于django传递数据到后端的例子
2019/08/16 Python
Python基于数列实现购物车程序过程详解
2020/06/09 Python
HTML5和以前HTML4的区别整理
2013/10/20 HTML / CSS
亚马逊中国官方网站:amazon.cn
2017/05/25 全球购物
沙特阿拉伯排名第一的在线时尚购物应用程序:1Zillion
2020/08/08 全球购物
专科毕业生学习生活的自我评价
2013/10/26 职场文书
手机促销活动方案
2014/02/05 职场文书
优秀少先队工作者事迹材料
2014/05/13 职场文书
普通党员群众路线教育实践活动心得体会
2014/11/04 职场文书
2016年第32个教师节致辞
2015/11/26 职场文书
2016年社区六一儿童节活动总结
2016/04/06 职场文书
关于感恩的歌曲整理(8首)
2019/08/14 职场文书
MySQL中一条update语句是如何执行的
2022/03/16 MySQL
mysql 8.0.27 绿色解压版安装教程及配置方法
2022/04/20 MySQL