import requests
from lxml import etree
from fake_useragent import UserAgent
import random
import timeclass LianjiaSpider(object):def __init__(self):self.url='https://nc.lianjia.com/ershoufang/pg{}/'#功能函数:随机获取User-Agentdef get_headers(self):ua=UserAgent()#创建UserAgent对象headers={ "User-Agent": ua.random}#随机获取请求头return headers#获取页面def get_html(self,url):#设置超时时间为5秒,尝试次数为3次for i in range(3):try:res = requests.get(url=url, headers=self.get_headers(),timeout=5)res.encoding = "utf-8"html = res.textreturn htmlexcept Exception as e:print("Failed ,Retry:",i)continue#解析页面def parse_html(self,url):html=self.get_html(url)#html返回值有两种:1:html 2:Noneif html:parse_obj = etree.HTML(html)  # 解析对象# 基准xpath,li节点列表li_list = parse_obj.xpath('//ul[@class="sellListContent"]/li[@class="clear LOGVIEWDATA LOGCLICKDATA"]')# for循环遍历每个li节点,获取一个房源的所有数据item = {}for li in li_list:# 名称item["name"] = li.xpath('.//a[@data-el="region"]/text()')[0].strip()# 户型+面积+方位+精装+楼层+楼型# info_list:['3室2厅','110平米','南 北','毛坯','中楼层(共19层)','板楼']info_list = li.xpath('.//div[@class="houseInfo"]/text()')[0].split('|')item["model"] = info_list[0].strip()item["area"] = info_list[1].strip()[:-2]item["direction"] = info_list[2].strip()item["perfect"] = info_list[3].strip()item["floor"] = info_list[4].strip()# 地区+总价+单价item["address"] = li.xpath('.//div[@class="positionInfo"]/a/text()')[1].strip()item["totall"] = li.xpath('.//div[@class="totalPrice"]/span/text()')[0].strip()item["unit"] = li.xpath('.//div[@class="unitPrice"]/span/text()')[0].strip()[2:-4]print(item)#入口函数def run(self):for page in range(1,3):url=self.url.format(page)self.parse_html(url)time.sleep(random.uniform(1,3))#产生随机浮点数休眠if __name__ == '__main__':spider=LianjiaSpider()spider.run()

xpath爬取链家二手房相关推荐

  1. python-scrapy-MongoDB 爬取链家二手房

    python-scrapy-MongoDB 爬取链家二手房 链家二手房房源数据抓取 目标网址为http://bj.lianjia.com/ershoufang/ 分析网址 创建项目 scrapy st ...

  2. python关于二手房的课程论文_基于python爬取链家二手房信息代码示例

    基本环境配置 python 3.6 pycharm requests parsel time 相关模块pip安装即可 确定目标网页数据 哦豁,这个价格..................看到都觉得脑阔 ...

  3. 利用xpath爬取链家租房房源数据并利用pandas保存到Excel文件中

    我们的需求是利用xpath爬取链家租房房源数据,并将数据通过pandas保存到Excel文件当中 下面我们看一下链家官网的房源信息(以北京为例) 如图所示,我们通过筛选得到北京租房信息 那么我们需要将 ...

  4. 租房不入坑不进坑,Python爬取链家二手房的数据,提前了解租房信息

    目录 前言 一.查找数据所在位置: 二.确定数据存放位置: 三.获取html数据: 四.解析html,提取有用数据: 前言 贫穷限制了我的想象,从大学进入到社会这么久,从刚开始的兴致勃勃,觉得钱有什么 ...

  5. 掌财社:python怎么爬取链家二手房的数据?爬虫实战!

    我们知道爬虫的比较常见的应用都是应用在数据分析上,爬虫作为数据分析的前驱,它负责数据的收集.今天我们以python爬取链家二手房数据为例来进行一个python爬虫实战.(内附python爬虫源代码) ...

  6. Python 爬取链家二手房,我在北京买房的经历

    本节所讲内容: 链家网站前期分析 利用requests爬取数据 爬取数据存储MongoDB(代码请看最后) 链家网站前期分析 今天我们主要对链家二手房数据爬取,看下我们目前的资金能买那一套.链家二手房 ...

  7. Python常用插件类举,lxml+Xpath实现爬虫,使用Xpath爬取链家二手房源信息

    目录 一.XPath 二.XPath 常用规则 三.在谷歌浏览器安装XPath插件 四.Python爬虫常用插件 五.使用Xpath解析 六.Xpath匹配示例 1.查看所有的标签(如p.a.li标签 ...

  8. scrapy 爬取链家二手房数据

    学习使用 只爬取展示的展示的3000条数据 spider: # -*- coding: utf-8 -*- from urllib import parse import scrapy from sc ...

  9. 数据采集(四):用XPath爬取链家网房价数据

    准备工作 编写爬虫前的准备工作,我们需要导入用到的库,这里主要使用的是requests和lxml两个.还有一个Time库,负责设置每次抓取的休息时间. import requests import r ...

最新文章

  1. 写时复制(Copy-On-Write)思想在Java中的应用
  2. zookeeper集群启动报错:Cannot open channel to * at election address /ip:3888
  3. IDEA 13 tomcat 进行远程调试
  4. 读大话数据结构之二--------算法(上)
  5. java使用动态代理来实现AOP(日志记录)的实例代码
  6. Web前端开发面试题---HTML+CSS
  7. 使用python制作二维码
  8. 禁用Alt + F4关闭窗体的一些常用方法
  9. 用swift开发仪表盘控件(一)
  10. Spring核心技术
  11. Python Numpy的数组array和矩阵matrix
  12. ruoyi框架默认的导出Excel功能代码简析
  13. Linux截取不定长度字符串,Linux技巧:使用 expr 命令获取子字符串和字符串长度...
  14. svn认证失败两种解决方案(个人原创)
  15. (16)双目视觉的图像获取
  16. Oracle常用字符ASCII码对应表
  17. Scrapy项目 - 数据简析 - 实现斗鱼直播网站信息爬取的爬虫设计
  18. 本地Git下载安装以及创建版本库、远程Github
  19. 渗透测试-pdf文件上传-XSS
  20. 计算机与S7-200 PLC通信的步骤,建立与S7-200 CPU在线联系设置修改PLC通信参数

热门文章

  1. 网络流量分析 NetFlow是什么 详解 科普 ~互联网业务流量监测技术的应用和设计---perfect
  2. chmod -R 777使用.
  3. XmlDocument使用
  4. js模糊匹配(like)
  5. WPF: WPF 中的 Triggers 和 VisualStateManager
  6. WIN XP SP2系统经常性死机问题解决历程
  7. Postgresql 12.2 + PostGIS 3.0.1 安装部署手册
  8. Linux 线程基础 1
  9. Hexo博客主题Next添加动态线条背景canvas_nest
  10. html代码 小球上下波动,HTML5CSS3特效-上下跳动的小球-遁地龙卷风