用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 19 Python
Python中函数的参数传递与可变长参数介绍
Jun 30 Python
python 写入csv乱码问题解决方法
Oct 23 Python
使用Python操作excel文件的实例代码
Oct 15 Python
python获取酷狗音乐top500的下载地址 MP3格式
Apr 17 Python
Python向Excel中插入图片的简单实现方法
Apr 24 Python
Python实现KNN(K-近邻)算法的示例代码
Mar 05 Python
linux安装python修改默认python版本方法
Mar 31 Python
python标准库OS模块函数列表与实例全解
Mar 10 Python
python多进程使用函数封装实例
May 02 Python
PySwarms(Python粒子群优化工具包)的使用:GlobalBestPSO例子解析
Apr 05 Python
python 使用pandas读取csv文件的方法
Dec 24 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/10/04 PHP
php正则表达式使用的详细介绍
2013/04/27 PHP
PHP编程中的__clone()方法使用详解
2015/11/27 PHP
PHP使用GD库输出汉字的方法【测试可用】
2016/11/10 PHP
thinkPHP框架对接支付宝即时到账接口回调操作示例
2016/11/14 PHP
PHP错误处理函数register_shutdown_function使用示例
2017/07/03 PHP
Docker搭建自己的PHP开发环境
2018/02/24 PHP
picChange 图片切换特效的函数代码
2010/05/06 Javascript
基于jQuery的合并表格中相同文本的相邻单元格的代码
2011/04/06 Javascript
javascript 学习笔记(八)javascript对象
2011/04/12 Javascript
js实现的类似于asp数据字典的数据类型代码实例
2014/09/03 Javascript
JQuery 使用attr方法实现下拉列表选中
2014/10/13 Javascript
AngularJS通过$http和服务器通信详解
2016/09/21 Javascript
AngularJS折叠菜单实现方法示例
2017/05/18 Javascript
详解webpack+express多页站点开发
2017/12/22 Javascript
Vue中的vue-resource示例详解
2018/11/02 Javascript
[01:02:38]DOTA2-DPC中国联赛定级赛 LBZS vs Phoenix BO3第二场 1月10日
2021/03/11 DOTA
使用Python的urllib和urllib2模块制作爬虫的实例教程
2016/01/20 Python
python操作oracle的完整教程分享
2018/01/30 Python
python使用xslt提取网页数据的方法
2018/02/23 Python
Python设计模式之观察者模式原理与用法详解
2019/01/16 Python
PYTHON如何读取和写入EXCEL里面的数据
2019/10/28 Python
美国在线鞋类零售商:LifeStride
2019/06/09 全球购物
在子网210.27.48.21/30种有多少个可用地址?分别是什么?
2014/07/27 面试题
易程科技软件测试笔试
2013/03/24 面试题
在校生汽车维修实习自我鉴定
2013/09/19 职场文书
旅游网创业计划书
2014/01/31 职场文书
大学生职业生涯规划书参考模板
2014/03/05 职场文书
绿色城市实施方案
2014/03/19 职场文书
《神奇的克隆》教学反思
2014/04/10 职场文书
2015年化妆品销售工作总结
2015/05/11 职场文书
2019森林防火宣传标语大全!
2019/07/03 职场文书
应届生们该怎么书写求职信?
2019/07/05 职场文书
Python编程super应用场景及示例解析
2021/10/05 Python
Nginx 安装SSL证书完成HTTPS部署
2022/04/28 Servers
PHP RabbitMQ消息列队
2022/05/11 PHP