python爬取数据案例分析_Python 爬虫数据解析--xpath案例

案例一:解析出全国所有城市名称

代码如下:

import requests

from lxml import etree

if __name__ == "__main__":

headers = {

'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.103 Safari/537.36'

}

url = 'https://www.aqistudy.cn/historydata/'

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

tree = etree.HTML(page_text)

#解析到热门城市和所有城市对应的a标签

# //div[@class="bottom"]/ul/li/ 热门城市a标签的层级关系

# //div[@class="bottom"]/ul/div[2]/li/a 全部城市a标签的层级关系

a_list = tree.xpath('//div[@class="bottom"]/ul/li/a | //div[@class="bottom"]/ul/div[2]/li/a')

all_city_names = []

for a in a_list:

city_name = a.xpath('./text()')[0]

all_city_names.append(city_name)

print(all_city_names,len(all_city_names))

运行效果:

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

案例二:爬取58二手房中的房源信息

代码如下:

import requests

from lxml import etree

if __name__ == "__main__":

headers = {

'User-Agent':'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.103 Safari/537.36'

}

#爬取到页面源码数据

url = 'https://bj.58.com/ershoufang/'

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

#数据解析

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')

运行效果:

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值