python爬虫(爬取58二手房信息)+xpah解析

1、爬取首页信息源码
2、以爬取二手房标题为例
python爬虫(爬取58二手房信息)+xpah解析_第1张图片
通过F12抓包工具,快捷键【Ctrl+Shift+C】点击二手房标题,查看源码。
进行数据解析
通过两个二手房标题分析源码
python爬虫(爬取58二手房信息)+xpah解析_第2张图片
python爬虫(爬取58二手房信息)+xpah解析_第3张图片
h2 class="title"标题是在标签div class="content-side-left"下的标签ul class="house-list-wrap"下的li标签里面
如图:python爬虫(爬取58二手房信息)+xpah解析_第4张图片

进一步分析:
h2 class=“title"标题是在上述li标签下的第二个div标签中,需要解析h2标签下的a标签,得到文本数据。
结果如下:
python爬虫(爬取58二手房信息)+xpah解析_第5张图片
知识点:
属性定位:
#找到class属性值为song的div标签
//div[@class=“song”]
层级&索引定位:
#找到class属性值为tang的div的直系子标签ul下的第二个子标签li下的直系子标签a
//div[@class=“tang”]/ul/li[2]/a
逻辑运算:
#找到href属性值为空且class属性值为du的a标签
//a[@href=”" and @class=“du”]
模糊匹配:
//div[contains(@class, “ng”)]
//div[starts-with(@class, “ta”)]
取文本:
# /表示获取某个标签下的文本内容
# //表示获取某个标签下的文本内容和所有子标签下的文本内容
//div[@class=“song”]/p[1]/text()
//div[@class=“tang”]//text()
取属性:
//div[@class=“tang”]//li[2]/a/@href

代码如下:

from lxml import etree
import requests
#UA伪装
headers={
   'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.25 Safari/537.36 Core/1.70.3741.400 QQBrowser/10.5.3863.400'
}
#爬取页面源码数据
#指定url
url = 'https://zb.58.com/ershoufang/'
page_text = requests.get(url=url,headers=headers).text
#数据解析
#实例化etree对象
tree = etree.HTML(page_text)
#存储的是li标签对象
li_list = tree.xpath('//ul[@class="house-list-wrap"]/li')
fp = open('./58.txt','w',encoding='utf-8')
for li in li_list:
    #局部解析
    title = li.xpath('./div[2]/h2/a/text()')[0]
    print(title)
    fp.write(title+'\n')

你可能感兴趣的:(python爬虫(爬取58二手房信息)+xpah解析)