一、需求分析
- 需求 :使用xpath数据解析爬取58二手房房源信息;
- 分析 :
1、首先打开58二手房的详情页面,https://ts.58.com/ershoufang/
2、打开开发者工具定位其中一个房源信息
二、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')