数据解析-xpath解析之58二手房

一、需求分析

  • 需求 :使用xpath数据解析爬取58二手房房源信息;
  • 分析 :
    1、首先打开58二手房的详情页面,https://ts.58.com/ershoufang/

数据解析-xpath解析之58二手房

2、打开开发者工具定位其中一个房源信息
数据解析-xpath解析之58二手房

二、58二手房编码

  • 编码
# 1、导入模块
import requests
from lxml import etree

# 2、爬取页面源码数据
# url
url = 'https://ts.58.com/ershoufang'
# UA伪装
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.141 Safari/537.36'
}

page_text = requests.get(url, headers=headers)
with page_text:
    page_text = page_text.text

    # 3、实例化etree对象,且将被解析的源码加载到该对象中
    selector = etree.HTML(page_text)

    # 4、数据解析
    # 存储的就是h3标签对象
    li_list = selector.xpath('//div[@class="property-content-title"]/h3//text()')

    fp = open('58.txt', 'w', encoding='utf-8')
    for li in li_list:
        # 局部解析
        print(li)
  • 执行结果
绿野花苑一层大两室,老本,南北通透,干净整洁,可拎包入住
和逸居四层   明厨明卫  老本   带地下室 !!
水山越城 49中学区 全明三阳 小三居 南北通透 首付18万
观唐帝景旁 盛唐府 三室两厅 洋房 可贷款 衡水一中旁 热销
绿城物业直售  春晓二期 高档小区 电梯入户 紧邻南湖 急
  • 补充示例 :
import requests
from lxml import etree

url = 'https://sz.58.com/ershoufang/'
headers = {'User-Agen':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 UBrowser/6.2.4098.3 Safari/537.36'}
page_text = requests.get(url=url,headers=headers).text
tree = etree.HTML(page_text)
title_list = tree.xpath('//ul[@class="house-list-wrap"]/li')
fp = open('title.txt','w',encoding='UTF-8')

for title in title_list:
        list1 = title.xpath('./div/h2/a/text()')[0]
        fp.write(list1+'\n')
上一篇:jvm性能调优实战 -58类加载器过多引发的OOM问题


下一篇:LeetCode 剑指offer 面试题58 - II. 左旋转字符串