用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函数式编程指南(四):生成器详解
Jun 24 Python
Python socket网络编程TCP/IP服务器与客户端通信
Jan 05 Python
selenium+python实现自动登录脚本
Apr 22 Python
浅谈python中np.array的shape( ,)与( ,1)的区别
Jun 04 Python
python leetcode 字符串相乘实例详解
Sep 03 Python
解决PyCharm同目录下导入模块会报错的问题
Oct 13 Python
Python os.rename() 重命名目录和文件的示例
Oct 25 Python
Python实现的逻辑回归算法示例【附测试csv文件下载】
Dec 28 Python
Python给图像添加噪声具体操作
Mar 03 Python
python [:3] 实现提取数组中的数
Nov 27 Python
python opencv实现简易画图板
Aug 27 Python
 分享一个Python 遇到数据库超好用的模块
Apr 06 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数据流应用的简单例子
2012/06/01 PHP
php+ajax实现无刷新分页的方法
2014/11/04 PHP
thinkphp多表查询两表有重复相同字段的完美解决方法
2016/09/22 PHP
laravel 5.1下php artisan migrate的使用注意事项总结
2017/06/07 PHP
超级强大的表单验证
2006/06/26 Javascript
jQuery下的几个你可能没用过的功能
2010/08/29 Javascript
JS和jquery获取各种屏幕的宽度和高度的代码
2013/08/02 Javascript
js通过元素class名字获取元素集合的具体实现
2014/01/06 Javascript
jQuery实现倒计时按钮功能代码分享
2014/09/03 Javascript
js文件包含的几种方式介绍
2014/09/28 Javascript
JavaScript字符串对象toLowerCase方法入门实例(用于把字母转换为小写)
2014/10/17 Javascript
充分发挥Node.js程序性能的一些方法介绍
2015/06/23 Javascript
js ajaxfileupload.js上传报错的解决方法
2016/05/05 Javascript
模拟javascript中的sort排序(简单实例)
2016/08/17 Javascript
Move.js入门
2017/02/08 Javascript
微信小程序之多列表的显示和隐藏功能【附源码】
2018/08/06 Javascript
nodejs 如何手动实现服务器
2018/08/20 NodeJs
vue图片上传组件使用详解
2019/12/23 Javascript
python编程-将Python程序转化为可执行程序[整理]
2007/04/09 Python
跟老齐学Python之私有函数和专有方法
2014/10/24 Python
Python实现基于SVM的分类器的方法
2019/07/19 Python
python中通过selenium简单操作及元素定位知识点总结
2019/09/10 Python
python3.6连接mysql数据库及增删改查操作详解
2020/02/10 Python
python用Configobj模块读取配置文件
2020/09/26 Python
一个入门级python爬虫教程详解
2021/01/27 Python
美国女士内衣在线折扣商店:One Hanes Place
2019/03/24 全球购物
Bibloo匈牙利:女装、男装、童装及鞋子和配饰
2019/04/14 全球购物
饿了么订餐官网:外卖、网上订餐
2019/06/28 全球购物
欧洲最大的高尔夫零售商:American Golf
2019/09/02 全球购物
食品流通安全承诺书
2014/05/22 职场文书
社区义诊通知
2015/04/24 职场文书
党风廉政建设心得体会(2016最新版)
2016/01/22 职场文书
2016年优秀共青团员事迹材料
2016/02/25 职场文书
个人销售励志奋斗口号
2019/12/05 职场文书
Java用自带的Image IO给图片添加水印
2021/06/15 Java/Android
如何解决php-fpm启动不了问题
2021/11/17 PHP